我有两个具有多态关系的表。
表 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