我需要自己加入一张表来获得正确的结果。
我的表(品牌)是:
id | name | replace_by | active
品牌与网上商店有关。我需要获得与网上商店相关的活跃品牌。但如果不活跃的品牌被另一个品牌替换,我的结果中也需要这个,即使它没有相关性。
我尝试了以下内容,但它没有给我一个结果。没有连接,它工作正常,但不包括“替换为”。
$webshop = Webshop::select()
->where('slug', $slug)
->with(['comments' => function ($query) {
$query->orderBy('created_at', 'desc');
}])
->with(['brands' => function ($query) {
$query->where('brands.active', 1)
->where('brands.replace_by', NULL)
->join('brands as b2', 'b2.id', '=', 'brands.replace_by')
->groupBy('brands.id');
}])