假设我有2个模型,Category和POI,其中1个Category可以有多个POI。
$categoryDetails = Category::with([
'pois' => function ($query) {
$query->where('is_poi_enabled', true);
},
])->findOrFail($id);上面的查询返回特定类别及其POI的结果。
但是,使用以下查询:
$query->select('id', 'name')->where('is_poi_enabled', true);POI在集合中变为空。
你知道为什么会发生这种事吗?何时将select子句添加到雄辩的ORM?
发布于 2020-03-30 11:53:51
在执行select操作时,需要获取关系本地键或主键。对于包含category_id的示例POIs表,则需要选择它,请尝试以下操作:
$categoryDetails = Category::with([
'pois' => function ($query) {
$query->select(['id', 'category_id', 'is_poi_enabled'])
->where('is_poi_enabled', true);
},
])->findOrFail($id);祝好运!
https://stackoverflow.com/questions/60923777
复制相似问题