我在使用only()
和except
方法时遇到问题。
官方文件:
使用:
$data = Model::whereId($id)->first();
或$data = Model::whereId($id)->get()->except('updated_at', 'deleted_at');
我明白了:
{"id":21,"name":"new one","description":"desc","deleted_at":null,"created_at":"2017-03-08 16:23:01","updated_at":"2017-03-08 16:23:01"}
with:
$data = Model::whereId($id)->get()->only('id', 'name', 'description', 'created_at');
我得到一个空的结果。
我很确定我没有以正确的方式调用该方法。
我在尝试从DB获取结果后尝试调用它,例如$data->only('...')
或$data->except('...')
但没有运气。
任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
奇怪的是,我设法通过创建一个新变量来实现它,该变量将保存结果的collect()
(这是模型实例)
所以这很有效:
$data = Model::whereId($id)->first();
$return = collect($data)->except('updated_at', 'deleted_at');
return Response::json($return);
不知何故,它有意义,因为它不是与模型相关的方法,而是解析集合对象1。