哪里有多态关系

时间:2020-04-07 00:25:12

标签: laravel eloquent laravel-5.6

我有下表:

table logs
| id | loggable_id | loggable_type | action |

loggable_type可以是ContractUserCard 我需要从logs表中获取所有记录,但是我必须在每个loggable_types上运行whereHas,诸如此类:

$logs = Log::whereHas('contract', function() {

})
->whereHas('user', function() {
})
->whereHas('card', function() {
});

但是我不确定如何定义每个关系。现在我只有:

   public function loggable()
    {
        return $this->morphTo();
    }

重要的是Laravel 5.6。

1 个答案:

答案 0 :(得分:0)

使用此

Comment::whereHasMorph('loggable', [User::class, Card::class], function ($query) {
    $query->where('title', 'foo');
})->get();
相关问题