2017-03-08 40 views
0

我在laravel中使用only()except方法存在問題。laravel只有5個方法()或除了()問題

正式文件:

使用:

  • $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"} 

有:

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

我得到一個空的結果。

我很確定我沒有以正確的方式調用該方法。 我也嘗試從DB獲得結果後調用它,如$data->only('...')$data->except('...')沒有任何運氣。

任何幫助,將不勝感激!謝謝!

回答

0

自嘆不如,我設法通過創建一個新的變量,它保存結果的collect()(這是模型實例)

所以這做工作:

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

    return Response::json($return); 

不知怎的,這是有道理的因爲它不是與模型相關的方法,而是解析集合對象之一。