laravel 5 方法 only() 或 except() 问题

laravel 5 methods only() or except() issues

我在 laravel 使用 only()except 方法时遇到问题。

官方文档:

使用:

我得到:

{"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"}

与:

$data = Model::whereId($id)->get()->only('id', 'name', 'description', 'created_at');

我得到一个空结果。

我很确定我没有以正确的方式调用该方法。 我也试过在从 DB 获得结果后调用它,比如 $data->only('...')$data->except('...') 没有任何运气。

如有任何帮助,我们将不胜感激!谢谢!

很奇怪,我设法通过创建一个新变量来做到这一点,该变量将保存结果的 collect()(这是模型实例)

所以这有效:

    $data = Model::whereId($id)->first();
    $return = collect($data)->except('updated_at', 'deleted_at');

    return Response::json($return);

在某种程度上它是有道理的,因为它不是模型相关的方法,而是解析集合对象一。