在拉拉维尔关系中搜索第二个表


Searching in Laravel relationship for second table

我有两个具有多态关系的表。

表 1 是历史记录

id|amount|type|created_at|updated_at

表2是账户

id|amount|name|account_number|accountable_id|accountable_type|created_at|updated_at

历史记录具有帐户汇总表。账户表具有多态字段(负责)

现在我正在历史表中执行查询,结果也包括帐户表。

问题是我也想在账户表中搜索一些数据,比如付款人姓名在账户表中。因此,当我在历史记录表上点击查询时,我将传递付款人名称,以便它只能获取具有特定付款人名称的帐户。

您可能需要设置历史记录和帐户之间的关系,以便可以按以下行进行查询:

$histories = Histories::whereHas(
        'accounts'
        function ($query) use ($name) {
            $query->where('name', $name);
        }
    )->get();

但是您的问题不是很清楚,并且在您提供的有限架构中的帐户中没有名称字段,所以我无法给出更好的答案。

在这里阅读更多内容:

https://laravel.com/docs/5.1/eloquent-relationships