/ / Много към много Връзка в laravel 4 - laravel

Много за много връзки в laravel 4 - laravel

Имам таблица с филми и таблица с жанрове и заявих връзките си, както е показано по-долу

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 е приетда се IlluminateDatabaseEloquentRelationsBelongsToMany :: formatSyncList () трябва да бъде от типа масив, даден низ, извикан E: CinemavendorlaravelframeworksrcIlluminateDatabaseEloquentRelationsBelongsToMany.php на линия 599 и дефинирана

Всеки, който може да ми помогне, ще бъда благодарен благодаря.

Отговори:

0 за отговор № 1

sync() очаква array, за да можете да опитате:

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

Ако вашата PHP версия е 5.4 или по-нова, можете да използвате синтаксис на къси масиви така

$movie->genres()->sync([Input::get("genre")]);