如何使用Laravel 5临时隐藏模型关系属性
我已经读过怎么做了。 我想暂时隐藏模型关系属性 比如说如何使用Laravel 5临时隐藏模型关系属性,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我已经读过怎么做了。 我想暂时隐藏模型关系属性 比如说 { "slug": "google-chrome", "name": "Google Chrome", "description": { "text": null, "created_at": "2016-12-05 12:16:38", "updated_at": "2016-12-05 12:16:38" } 仅在此查询中隐藏description.crea
{
"slug": "google-chrome",
"name": "Google Chrome",
"description": {
"text": null,
"created_at": "2016-12-05 12:16:38",
"updated_at": "2016-12-05 12:16:38"
}
仅在此查询中隐藏description.created_at的语法是什么?
在我的软件控制器里我有
public function show(Request $request, $slug)
{
$models = Software::query();
$model =
$models
->where('slug', $slug)
->firstOrFail()
->makeHidden([
'description.created_at',
]);
return $model;
}
这个语法似乎不起作用?可能吗?makeHidden()
不支持点表示法
您应该在相关模型上调用makeHidden:
$model = $models
->where('slug', $slug)
->firstOrFail();
$model->description->makeHidden('created_at');
请注意,这仅在您只有一个结果时有效。如果要在集合上执行此操作,必须在iTen上迭代,并为每个项目运行makeHidden。makeHidden()
不支持点表示法
您应该在相关模型上调用makeHidden:
$model = $models
->where('slug', $slug)
->firstOrFail();
$model->description->makeHidden('created_at');
请注意,这仅在您只有一个结果时有效。如果要在集合上执行此操作,必须在iten上迭代,并为您拥有的每个项运行makeHidden