gpt4 book ai didi

mysql - 在模型及其关系中搜索并对结果进行分页

转载 作者:行者123 更新时间:2023-12-01 00:43:28 25 4
gpt4 key购买 nike

所以我正在使用 Laravel/MySQL 构建一个电子商务网站,我拥有的产品相关表如下:“产品”、“属性”、“分类法”和“标签”。当用户键入关键字搜索产品时,我想通过一个查询搜索所有 4 个表以获得所需的产品,然后我想使用 Laravel 分页功能对结果进行分页,现在如何在一个查询中完成?也许涉及一些加入?

enter image description here

这是我的数据库表的关系,至于我的模型,它是这样定义的:

class Product extends Eloquent {
...
public function taxonomies() {
return $this->belongsToMany('Taxonomy', 'product_taxonomy', 'product_id', 'taxonomy_id');
}
...
// Same goes for attributes and labels
public function reviews() {
return $this->hasMany('Review', 'product_id');
}
}

最佳答案

也许你想要这样的东西:

$products = Product::where('name', 'LIKE ', '%' . $keyword . '%');

$products = $products->orWhereHas('attributes',
function ($query) use ($keyword) {
$query->where('name', 'LIKE ', '%' . $keyword . '%');
}
);
$products = $products->orWhereHas('taxonomies',
function ($query) use ($keyword) {
$query->where('name', 'LIKE ', '%' . $keyword . '%');
}
);
$products = $products->orWhereHas('tags',
function ($query) use ($keyword) {
$query->where('name', 'LIKE ', '%' . $keyword . '%');
}
);


$products = $products->paginate(10);

现在您查看产品名称和关系名称(标签、分类法和属性)并对 10 个产品进行分页。

关于mysql - 在模型及其关系中搜索并对结果进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26101285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com