2017-01-29 48 views
2

$wire = Wire::find(2)->value('options'); var_dump($wire); die(); 雄辯發現(2)返回錯誤的記錄

返回

這是我的2個數據庫條目。

1 {"note": "wire one", "value": "WIRE 1"} WIRE ONE 2017-01-29 01:37:49 2017-01-29 01:37:49 
2 {"note": "wire two", "value": "WIRE 2"} WIRE TWO 2017-01-29 01:38:19 2017-01-29 01:38:19 

爲什麼找到記錄#1(2)返回值?

我在另一個Laravel應用程序中認識到了這一點。這是在一個新的Laravel應用程序中完成的。

+0

'find'

Wire::find(2);收益模型是找到它的主鍵的典範。第一列是否有主鍵 –

+0

是的。 CREATE TABLE'wires'( 'id' INT(10)無符號NOT NULL AUTO_INCREMENT, 'options' JSON NOT NULL, 'value' VARCHAR(255)COLLATE utf8mb4_unicode_ci NOT NULL, 'created_at'時間戳NULL DEFAULT NULL, 'updated_at' timestamp NULL DEFAULT NULL, PRIMARY KEY('id') )ENGINE = InnoDB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci; – Ryderpro

+0

https://laracasts.com/discuss/channels/laravel/model-findid-returns-multiple-records 我認爲答案就在那裏。看起來我的 - >值('選項')使用構建器方法並重新運行查詢? – Ryderpro

回答

3

看起來像使用 - >值詳細說明find()方法或 - > get運行全新的查詢。

Wire::find(2)->get();運行一個新的查詢檢索所有模型。按主鍵2.