>  기사  >  백엔드 개발  >  laravel5一对多的create问题

laravel5一对多的create问题

WBOY
WBOY원래의
2016-06-06 20:23:231680검색

<code>array:7 [▼
  "_token" => "Y9szFJQYRcmHpyBB1McOE9tbUoZmshmJHzfV1hMG"
  "title" => "1"
  "image" => "2"
  "itemimages" => array:2 [▼
    0 => array:1 [▼
      "image" => "/editor/php/../attached/image/20151203/20151203071049_60053.png"
    ]
    1 => array:1 [▼
      "image" => "/editor/php/../attached/image/20151203/20151203071049_32261.png"
    ]
  ]
  "category_id" => "4"
  "content" => "3"
  "text" => "3"
]</code>

一个表单传递过来一个商品的信息,并且这个商品

<code>        $data=$request->all();
        $data['text']=mb_substr($data['content'],0,64);
        $save=Item::create($data);</code>

商品创建成功,然后需要往图片库里加图片$data['itemimages'],

<code>$save->itemimages()->save($data['itemimages']);//报错
$save->itemimages()->saveMany($data['itemimages']);//报错
$save->itemimages()->create($data['itemimages']);//item_id有值,image为空</code>

后来尝试格式换一下

<code>"itemimages" => array:1 [▼
      "image" => "/editor/php/../attached/image/20151203/20151203071049_60053.png"
  ]

$save->itemimages()->create($data['itemimages']);//成功</code>

那么多张图片怎么办

Item已经定义

<code>public function itemimages(){
    return $this->hasMany("App\Itemimage");
}</code>

回复内容:

<code>array:7 [▼
  "_token" => "Y9szFJQYRcmHpyBB1McOE9tbUoZmshmJHzfV1hMG"
  "title" => "1"
  "image" => "2"
  "itemimages" => array:2 [▼
    0 => array:1 [▼
      "image" => "/editor/php/../attached/image/20151203/20151203071049_60053.png"
    ]
    1 => array:1 [▼
      "image" => "/editor/php/../attached/image/20151203/20151203071049_32261.png"
    ]
  ]
  "category_id" => "4"
  "content" => "3"
  "text" => "3"
]</code>

一个表单传递过来一个商品的信息,并且这个商品

<code>        $data=$request->all();
        $data['text']=mb_substr($data['content'],0,64);
        $save=Item::create($data);</code>

商品创建成功,然后需要往图片库里加图片$data['itemimages'],

<code>$save->itemimages()->save($data['itemimages']);//报错
$save->itemimages()->saveMany($data['itemimages']);//报错
$save->itemimages()->create($data['itemimages']);//item_id有值,image为空</code>

后来尝试格式换一下

<code>"itemimages" => array:1 [▼
      "image" => "/editor/php/../attached/image/20151203/20151203071049_60053.png"
  ]

$save->itemimages()->create($data['itemimages']);//成功</code>

那么多张图片怎么办

Item已经定义

<code>public function itemimages(){
    return $this->hasMany("App\Itemimage");
}</code>

<code>$itemimages=[];
foreach($data['itemimages'] as $v){
    $itemimages[]=new App\Itemimage(['image' => $v['image']),
}

$save->itemimages()->saveMany($itemimages);</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.