2016-03-04 107 views
1

我有一個電影臺和流派表,我說我的關係如下圖所示許多在laravel許多關係4

public function genres() 
{ 
    return $this->belongsToMany('Genre'); 
} 

和類型模型

public function movies() 
{ 
    return $this->belongsToMany('Movie'); 
} 

,這是多麼我控制器看起來像但是當我嘗試上傳電影時,電影上傳成功但它返回下面顯示的錯誤

$movie = new Movie(); 
$movie->status_id = Input::get('status'); 
$movie->title = Input::get('title'); 
$movie->summary = Input::get('summary'); 
$movie->duration = Input::get('duration'); 
$movie->cast = Input::get('cast_list'); 
$movie->director = Input::get('director'); 
$movie->price = Input::get('movie_price'); 
$movie->dimension = Input::get('dimension'); 
$movie->time_showing = Input::get('time_showing'); 
$movie->time_showing1 = Input::get('time_showing1'); 
$movie->photo = $photoname; 
$movie->date_showing = Input::get('date_showing'); 
$movie->save(); 
$movie->genres()->sync(Input::get('genre')); 
return Redirect::back()->with('success', 'movie added successfully'); 

這是傳遞給 照亮\數據庫錯誤

參數1 \雄辯\關係\ BelongsToMany :: formatSyncList() 的類型必須爲陣,給定的字符串,稱爲 電子商務:\電影\供應商\ laravel \框架的\ src \照亮\數據庫\雄辯\關係\ BelongsToMany.php 上線599和定義

任何人誰可以給我一隻手,我將不勝感激謝謝。

回答

0

sync()預計的array,所以你可以嘗試:

$movie->genres()->sync(array(Input::get('genre'))); 

如果你的PHP版本是5.4或更高版本,可以使用短數組語法,因此

$movie->genres()->sync([Input::get('genre')]); 
+0

非常感謝你Ciccio它的工作 – Tongi

+0

[很高興幫忙](http://stackoverflow.com/help/someone-answers) –