2016-12-14 228 views
1

我正在開發一個Web應用程序與Laravel 5.2,但有一個問題,我無法解決。Laravel雄辯集合屬性

我有延伸洋洋灑灑模型的模型,但是當我嘗試輸出我的數據庫表「其中」,比如

\App\MyModel::where('id_table', 23)->first(); 

它在這一刻像返回一個集合了許多信息沒有用,我'看守','keytype'...和我的表格數據在'屬性'下。 laravel的指南後,我看到每個人都使用簡單的地方,然後輸出與$mytable->myvalue,但這當然不能爲我工作。

這裏跟我談論集合截圖:

enter image description here

怎樣才能當我使用類似"::where()"永遠只是屬性?

我試過getAttributes()但它給了我一個500錯誤。

回答

3

如果你想獲得只是幾個屬性做很多事情。也許第一種方式將是最適合你:

使用pluck()

\App\MyModel::where('id_table', 23)->pluck('id', 'name'); 

使用select()

\App\MyModel::select('id', 'name')->where('id_table', 23)->get(); 

使用get()與參數:

\App\MyModel::where('id_table', 23)->get(['id', 'name']); 

如果你想得到雄辯的集合,然後才建立一個陣列只是屬性,你可以使用toArray()

\App\MyModel::where('id_table', 23)->get()->toArray(); 

如果你想獲得一些屬性到一個新的集合,在收集用pluck()

$collection = \App\MyModel::where('id_table', 23)->get(); 
$names = $collection->pluck('name'); 
+0

謝謝您的回覆!你的方法與toArray()或多或少是我正在尋找,但我也試過選擇並獲得,他們總是返回一個集合'表','primaryKey','連接','keyType','每頁'(我在我的問題中添加了一張圖片)。那麼,我怎樣才能獲得只有屬性,例如,get()方法? –

+1

我以爲你只需要一些屬性。在你的情況下'get()'不會幫助你,使用' - > get() - > toArray()'來獲取所有屬性而不需要任何額外的對象屬性。 –

+1

是的,謝謝你..我認爲你是對的 –