关系满足Laravel Eloquent条件时如何获取产品

黑暗菲尼克斯

我在数据库中有以下关系,每个表都有其各自和相关的模型。

在此处输入图片说明

我有产品,每个产品都有自己的配方,由零个或多个元素和所需的数量组成。

在此之后,我有一个仓库表,其中有元素的当前库存,我想要的是获得配方中所需数量少于库存的产品。

我如何获得这些数据?我想到在模型产品中创建一个范围,但我不知道如何执行验证,因为它们可以是配方中的 0 或 n 个元素?

控制器

Product::with('recipe')
            ->enableElements()->get();

模型产品

public function scopeEnableElements($query)
{

}
新用户名02

您可以查询RecipeWareHouse由有关的element_id

配方型号:

public function warehouses()
{
    return $this->hasMany(\App\Models\WareHouse::class, 'element_id', 'element_id');
}

仓库型号:

public function recipes()
{
    return $this->hasMany(\App\Models\Recipe::class, 'element_id', 'element_id');
}

控制器代码:

Product::whereHas('recipes', function($q) {
    $q->whereHas('warehouses', function($query) {
        $query->whereRaw('WareHouse.stock > Recipe.count');    // use table names here, not model names
    });
})->get();

如果您想使用 Recipe 模型中的范围来执行此操作:

public function scopeEnableElements($query)
{
    $query->whereHas('warehouses', function($query2) {
        $query2->whereRaw('WareHouse.stock > Recipe.count');    // use table names here, not model names
    });
}

然后在您的控制器中:

Product::whereHas('recipes', function($query) {
    $query->enableElements();
})->get();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel Eloquent:如何定义这种关系?

来自分类Dev

如何根据Laravel中关系的条件获取列表

来自分类Dev

Laravel Eloquent获取JSON关系嵌套

来自分类Dev

在Laravel Eloquent中获取和过滤关系

来自分类Dev

如何使用Laravel Eloquent返回多个关系?

来自分类Dev

尝试更新时未满足的依赖关系

来自分类Dev

如何调试未满足的依赖关系问题?

来自分类Dev

安装wine时未满足的依赖关系

来自分类Dev

Laravel:如何使用Eloquent获取关系列的SUM

来自分类Dev

满足某些条件时,如何获取数组的长度?

来自分类Dev

Laravel Eloquent-如何获得嵌套关系

来自分类Dev

在Laravel Eloquent中查询关系内的关系

来自分类Dev

满足ngIf条件时如何使用ViewChild获取HTML元素

来自分类Dev

如何通过条件使用“ with” laravel关系函数来获取数据?

来自分类Dev

Laravel Eloquent:如何从与函数模型的关系中添加条件

来自分类Dev

尝试更新时未满足的依赖关系

来自分类Dev

如何调试未满足的依赖关系问题?

来自分类Dev

安装wine时未满足的依赖关系

来自分类Dev

如何让APT忽略未满足的依赖关系?

来自分类Dev

Laravel Eloquent:如何定义这种关系?

来自分类Dev

Laravel关系并获取它们

来自分类Dev

Laravel Eloquent获取JSON关系嵌套

来自分类Dev

如何使用Laravel Eloquent返回多个关系?

来自分类Dev

Laravel Eloquent-如何使用子查询以及是否满足条件创建查询

来自分类Dev

安装Clang ++时未满足的依赖关系

来自分类Dev

如何在 Laravel 中定义 Eloquent 关系

来自分类Dev

Laravel Eloquent 关系

来自分类Dev

Laravel eloquent 模型关系

来自分类Dev

Laravel - Eloquent:API 资源 - 条件关系

Related 相关文章

热门标签

归档