Laravel Enregistrement D'Un Modèle Et Les Relations
J'ai le Modèle suivant:
class Movie extends Eloquent {
protected $primaryKey = "movie_id";
public function detail()
{
return $this->hasOne('Detail');
}
public function firstpage()
{
return $this->hasOne('Firstpage');
}
public function country()
{
return $this->belongsToMany('Countries','movies_countries','movie_id','country_id');
}
public function year()
{
return $this->hasOne('Years');
}
public function media() {
return $this->hasMany('Media');
}
}
C'est le Modèle de l'intérêt:
class Years extends Eloquent {
protected $table = 'movies_years';
protected $primaryKey = "relation_id";
public function movie()
{
return $this->belongsTo('Movie');
}
La DBTable pendant des années, a un champ "movie_year" et "movie_id"
Donc, j'ai le problème suivant, ou la compréhension de la question:
Je suis en train de mettre à jour le Modèle d'Années avec de nouvelles Données, mais ne semble pas possible de l'obtenir fait. J'ai essayé le suivant:
$movies = Movie::find($tmp['movie_id']);
$movies->title = $tmp['title'];
$movies->title_product = $tmp['title_product'];
$movies->title_orginal = $tmp['title_original'];
$movies->year = array('movie_year' => $tmp['movieyears']);
$movies->push();
L'oeil est sur le $films->année consécutive, tout le reste fonctionne bien.
J'ai aussi essayé quelque chose de stupide comme:
$movies->year() = array('movie_year' => $tmp['movieyears']);
Je ne sais pas comment mettre à jour les Années de Modèle, ce qui a un rapport avec le Modèle de Film.
- Ok, trouvé par moi-même, essayer & erreur: $films->année()->update(array('movie_year' => $tmp['movieyears'])); Mais pourquoi n'est-ce pas la commande de mise à jour documenté? laravel.com/docs/eloquent#insert-update-delete ce qui concerne
- Parfois, vous avez à creuser dans l'API, malheureusement.
Vous devez vous connecter pour publier un commentaire.
Officiel serait de l'attachement, de synchronisation ou d'associer des méthodes. Ces méthodes sont décrites à http://laravel.com/docs/eloquent-relationships#inserting-related-models
Dans votre cas, vous auriez à faire quelque chose comme ceci:
Pour supprimer le lien (pas le Film ou l'Année), l'utilisation detach().