withCount() 用于多个级别?
withCount() for multiple levels?
你可以做到 Project::with('events.contacts')
你也可以做到 Project::withCount('events.contacts')
吗?它似乎不起作用。是否有另一种方法可以找到某个项目的所有事件的联系人总数,其中 project.id = event.project_id 和 event.id = contact.event_id
您可以使用关系有很多通过
Docs: https://laravel.com/docs/8.x/eloquent-relationships#has-many-through
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Project extends Model
{
public function contacts()
{
return $this->hasManyThrough(Contact::class, Event::class);
}
}
那你可以做
Project::withCount('contacts')->get();
你可以做到 Project::with('events.contacts')
你也可以做到 Project::withCount('events.contacts')
吗?它似乎不起作用。是否有另一种方法可以找到某个项目的所有事件的联系人总数,其中 project.id = event.project_id 和 event.id = contact.event_id
您可以使用关系有很多通过
Docs: https://laravel.com/docs/8.x/eloquent-relationships#has-many-through
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Project extends Model
{
public function contacts()
{
return $this->hasManyThrough(Contact::class, Event::class);
}
}
那你可以做
Project::withCount('contacts')->get();