/ / Relación de muchos a muchos en laravel 4 - laravel

Relación de muchos a muchos en laravel 4 - laravel

Tengo una tabla de películas y una tabla de géneros y dije mis relaciones como se muestra a continuación

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

y en modelo de género

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

y así es como se ve mi controlador, pero cuando intento cargar películas, la película se carga correctamente pero devuelve un error que se muestra a continuación

$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");

Y este es el error

Argumento 1 aprobadoa IlluminateDatabaseEloquentRelationsBelongsToMany :: formatSyncList () debe ser del tipo matriz, cadena dada, llamada en E: CinemavendorlaravelframeworksrcIlluminateDatabaseEloquentRelationsBelongsToMany.php en línea 599 y definido

Cualquier persona que pueda echarme una mano se lo agradeceré.

Respuestas

0 para la respuesta № 1

sync() espera un array, para que puedas probar:

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

Si su versión de PHP es 5.4 o superior, puede usar una sintaxis de matriz corta para

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