Assoziationsobjekt - laravel\lumen Wie soll mit der bedingten Assoziation umgegangen werden?
给我你的怀抱
给我你的怀抱 2017-05-16 16:51:56
0
3
582

Ich habe derzeit 3 ​​Tische,tagsproductalbum.

productalbum相关联的标签都在tags里面。通过biz_type进行区分,1表示product, 2表示album.

Die Tabellenbeziehung ist wie folgt

table_tags
    id: int
    biz_type: int 
    biz_id: int

table_product
    id: int

table_album
    id: int

Ich hoffe jetzt, die polymorphe Assoziation von tags的分页列表,去关联获取productalbum的信息。
目前查看了laravel abzufragen, aber es scheint, dass dieser Ansatz nicht unterstützt wird. Gibt es eine Möglichkeit, durch Bedingungen eine Beziehung herzustellen?

给我你的怀抱
给我你的怀抱

Antworte allen(3)
洪涛

Laravel的多态的多对多关联有讲到这个,这个使用场景跟你有点类似你可以看看
http://www.kancloud.cn/baidu/...

Polymorphic Many To Many Relation Table Structure 多态的多对多关联数据库表结构

除了一般的多态关联,也可以使用多对多的多态关联。例如,Blog 的 Post 和 Video 模型可以共用多态的 Tag 关联模型。首先,来看看数据库表结构:

posts

id - integer
name - string

videos

id - integer
name - string

tags

id - integer
name - string

taggables

tag_id - integer
taggable_id - integer
taggable_type - string

现在,我们准备好设定模型关联了。 Post 和 Video 模型都可以经由 tags 方法建立 morphToMany 关联:

class Post extends Model {

public function tags()
{
    return $this->morphToMany('App\Tag', 'taggable');
}

}
在 Tag 模型里针对每一种关联建立一个方法:

class Tag extends Model {

public function posts()
{
    return $this->morphedByMany('App\Post', 'taggable');
}
public function videos()
{
    return $this->morphedByMany('App\Video', 'taggable');
}

}

某草草

join?但不建议用。

刘奇

自己实现一个关联查询也可以啊,目前多态关联的条件查询因为过于复杂,框架并未提供。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage