如何从关系中删除项目



我有一个具有类似hasOne关系的模型。

public function geoTournee()
{
return $this->hasOne(GeoTournee::class, 'id_tournee','id_tournee');
}

我已加载关系,并希望从集合中删除一个项。

这是之后的结果,我只想获得行程内容,并删除geo_toune和其他字段。

"geo_tournee": {
"id_geo_tournee": 46,
"itineraire": [
{
"lat": 8000,
"lon": 3000,
"date": "2020:04:21 16:58:23"
},
{
"lat": 8000,
"lon": 3000,
"date": "2020:04:21 16:58:23"
},
{
"lat": 8000,
"lon": 3000,
"date": "2020:04:21 16:58:23"
},
{
"lat": 5000,
"lon": 9000,
"date": "2020:04:21 16:58:23"
},
{
"lat": 5000,
"lon": 9000,
"date": "2020:04:21 16:58:23"
},
{
"lat": 5000,
"lon": 9000,
"date": "2020:04:21 16:58:23"
}
],
"id_tournee": 33,
"created_at": "2020-04-23 18:10:32",
"updated_at": "2020-04-23 22:26:53"

有这样做的想法吗!

您需要按以下方式执行::

return $this->hasOne(GeoTournee::class, 'id_tournee','id_tournee')->select(['id_tournee', 'itineraire']);

您也可以尝试热切加载:

$user = AppUser::with(['geoTournee' => function ($query) {
$query->select('itineraire');
}])->get();

或低于

AppUser::with('geoTournee:itineraire')->get();

最新更新