我是新來的。使用 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 關注
- 239 瀏覽
添加回答
舉報
0/150
提交
取消