olan birçok Polimorfik İlişkisi Birçok? tablolar (bir polimorfik ilişki olduğu için, ya da daha fazla)laravel - Ben ekstra alanlarla birçok polimorfik ilişki için birçok tanımlayabilirsiniz nasıl Ekstra Fields
Üç tane vardır.
posts table: id, record, timestamps
users table: id, name, email
user_id
tagged table: id, tag_id, taggable_id, taggable_type, user_id
tags table: id, name
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable','tagged');
}
ve benim Etiket modelinde Ben: Benim Mesaj modelinde Ben
public function posts()
{
return $this->morphedByMany('App\Post', 'taggable','tagged');
}
Sonra benim denetleyicisi bu deneyin olduğumda:
$tag = new \App\Tag(
array(
'tag'=>"someTag"
));
$tag->save()
$post = \App\Post::find($id);
$post->tags()->save($tag);
Ben Dürüstlük olsun
: bir user_id olmaması için kısıtlama ihlali aşağıdaki gibiSQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
hb
.tagged
, CONSTRAINTtagged_user_id_foreign
FOREIGN KEY (user_id
) REFERENCESusers
(id
)) (SQL: insert intotagged
(tag_id
,taggable_id
,taggable_type
) values (26, 2, App\Resource)). Which is somewhat expected, as I have never had the chance to define or declare the user_id field.
Ayrıca, boşuna, etiket ilişkiye withPivot() denedim:
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable','tagged')->withPivot('user_id');
}
sen denediniz mi? –
Pivot() ile çalıştı? Sorun şu ki özniteliği nasıl atayabilirim. I withPivot ('user_id') güvenilir ve aynı zamanda oluşturmak yönteme user_id içeren bir dizi geçiş zaman yine bir bütünlüğünü kısıtlama hata olsun. User_id öğesini kendi sorgusuna yerleştirmez. – CrackingTheCode
'creating' withPivot'' ilgisi oldukça fazla ilgisi yoktur. Bu yüzden, gönderdiğiniz soru yerine (bu http://xyproblem.info/ adresini okuyun) ne yapmaya çalıştığınızı, ne beklediğinizi ve ne aldığınızı gösterin. –