2017-08-24 21 views
2

を持つ配列のキー値を置き換えます。今、私は$imagesUrlを置き換えたい私はlaravelでこのフィールドを持つフォームを持って、新しい値

array:2 [▼ 
    "images" => array:4 [▼ 
    "original" => "/upload/images/2017/10453717_202487510125261_45876946_n.jpg" 
    300 => "/upload/images/2017/300_10453717_202487510125261_45876946_n.jpg" 
    600 => "/upload/images/2017/600_10453717_202487510125261_45876946_n.jpg" 
    900 => "/upload/images/2017/900_10453717_202487510125261_45876946_n.jpg" 
    ] 

    "thumb" => "/upload/images/2017/300_10453717_202487510125261_45876946_n.jpg" 
] 

<form> 
<input type='text' name="title"> 
<input type='file' name="files"> 
</form> 

In server side, I done some proccess on files. 

$imagesUrl = $this->uploadImages($request->file('files')); 

DD($ imagesUrlを) $request->file('files')と入力し、データベースに新しいレコードを挿入します。 私はこれ試してみてください。

auth()->user()->article()->create(array_merge($request->all() , [ 'files' => $imagesUrl])); 

をしかし、私はこのエラーを取得する:

(1/1) ErrorException Array to string conversion

私の何が間違っているのですか?

+1

にこのコードを追加しました。 'array_merge($ request-> all()、['files' => $ imagesUrl])'を実行します。それがエラーを生成するなら、var dump $ request-> all()と$ imagesUrlが良い考えを得るために – delboy1978uk

+0

私はそれをしました。 array_mergeは正常に動作します。 'files'の値は配列です。つまり、ArrayをStringエラーに再帰しますが、laravel docによれば、それを挿入する必要があります。 – Ali

答えて

0

回答:私は別のラインとVARのこの部分は、それをダンプしてくださいモーダル

protected $casts = [ 
    'files' => 'array' 
]; 
0

あなたはこれを試してみてください。そして、

$imagesUrl = serialize($imagesUrl); 

$arrInsert = ['title'=> $request->title,'files'=>$imagesUrl]; 

auth()->user()->article()->create($arrInsert); 

をし、再びそれを取得し、アンシリアライズ

$imagesUrl = unserialize($raw->files); 

希望あなたのためにこの作品!!!

関連する問題