Maison > Article > développement back-end > laravel5一对多的create问题
<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>