我是新来的。使用 Laravel,我想使用多选功能保存数据。但是,我创建的模型文件中的方法没有出现。我是幼虫的新手,我该如何解决?我无法运行多选功能。控制器中的方法public function saveForm(){ $movi_name = $req->input('movi_name'); $release_date = $req->input('release_date'); $data = array( 'movi_name' => $movi_name, 'release_date' => $release_date ); $categories = request(categories); $entry = Movie::insert($data) /*Model File and Save Data*/ $entry->categories()->attach($categories);}我的模型文件中的方法protected $table = 'film';public function categories(){ return $this->belongsToMany('App\Models\Kategori', 'category_movie'); }应该是被选中的电影必须包括在类别中..但是在布尔值上调用成员函数类别()
2 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
如评论中所述,您应该使用create()
而不是insert()
.
Usinginsert()
将简单地返回true
orfalse
取决于查询是否成功。
Usingcreate()
将返回一个Movie
模型实例,该实例将包含该categories()
方法:
$entry = Movie::create($data); //<--This is where insert() is replaced with create() $entry->categories()->attach($categories);
您需要确保movi_name
和在您的模型release_date
中的 $fillable
数组中Movie
:
protected $fillable = ['movi_name', 'release_date'];
PIPIONE
TA贡献1829条经验 获得超9个赞
是的,我解决了这个问题
protected $fillable = ['movie_name'];
那是我的代码。
现在
protected $fillable = ['movie_name','release_date'];
- 2 回答
- 0 关注
- 220 浏览
添加回答
举报
0/150
提交
取消