Php 在雄辩的拉威尔4中使用()和Get()
我在Laravel4中有一个RESTfulAPI,我有以下命令Php 在雄辩的拉威尔4中使用()和Get(),php,laravel,laravel-4,Php,Laravel,Laravel 4,我在Laravel4中有一个RESTfulAPI,我有以下命令 return News::with('User')->get(array('id', 'body', 'created_at', 'categorie_id', 'user_id'))->find(1)->toJson(); 它返回: “身份”:“1”,“身体”:“hola todos”,“created_at”:“2014-09-11 17:18:01”,“categorie_id”:“3”,“user_id”
return News::with('User')->get(array('id', 'body', 'created_at', 'categorie_id', 'user_id'))->find(1)->toJson();
它返回:
“身份”:“1”,“身体”:“hola todos”,“created_at”:“2014-09-11 17:18:01”,“categorie_id”:“3”,“user_id”:“1”,“user”:“id”:“1”,“nick”:“angel”,“description”:null,“photo”:null,“origin”:“España”,“created_at”:“2014-09-11
17:18:00,“更新时间”:“2014-09-11 17:18:00”
它返回我从“News”(id、body、relevancia、lat、lng、created_at、categorie_id、user_id)中选择的列,这是可以的,但我也希望从“user”中选择列,在示例中,我不希望json返回更新的_at(从“user”)
我该怎么做
谢谢只需在
用户
模型中添加一个隐藏
属性,如:
protected $hidden = array('updated_at');
就这样。您可以在数组中添加更多字段,以从json
结果中排除。您也可以尝试以下操作(而不是hidden
property):
通过这种方式,您不必添加hidden
属性,但您可以指定要从users
表中选择的字段,这样您可以从查询中排除该字段,但默认情况下它不会隐藏。是的,我知道该选项,但我正在搜索一种更灵活的解决方案,允许我包括“updated\u at”有时从用户那里获取,而不是对所有查询禁用它。然后遵循第二种方法。
return News::with(array('User' => function($q) {
$q->select('username', 'email'); // select fields from user table
}))->get(array('id', 'body');