繁体   English   中英

Laravel - 如何在数据库中插入 json

[英]Laravel - how to insert json in database

这里是我的 model

class Gallery extends Model{ protected $table = 'gallery';

protected $fillable = [
    'id','pages_id','title','subtitle'
];

protected $casts =[
    'photo'=>'array'
];

}

这是 controller

public function add_gallery(Request $request, $id)
{
    $gal = Gallery::create([
        'title' => $request['titlu'],
        'subtitle' => $request['autor'],
        'photo' => json_encode($p),
        'pages_id' => $id
    ]);

}

'photo' => json_encode($p) 行不起作用,它表示 photo 列是空的,$p 不是空的

  1. $photo 应该添加到 $fillable

     protected $fillable = ['id','pages_id','title','subtitle','photo'];
  2. 由于您使用强制转换,因此您不要手动使用 json_encode/json_decode,因为 Laravel 正在为您执行此操作。

     $gal = Gallery::create([ 'title' => $request['titlu'], 'subtitle' => $request['autor'], 'photo' => $p, 'pages_id' => $id ]);
  3. $p 变量在 add_gallery() 方法中不存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM