laravel\lumen 条件关联应该如何处理?

发布于 2022-09-03 09:31:09 字数 527 浏览 18 评论 0

我目前有3个表,tagsproductalbum

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

表关系如下

table_tags
    id: int
    biz_type: int 
    biz_id: int

table_product
    id: int

table_album
    id: int

我现在希望通过查询tags的分页列表,去关联获取productalbum的信息。
目前查看了laravel的多态关联,好像并不支持这种做法。不知道有没有什么方法通过条件进行关联的吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情未る 2022-09-10 09:31:09

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');
}

}

悍妇囚夫 2022-09-10 09:31:09

join?但不建议用。

〃安静 2022-09-10 09:31:09

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文