-2
讓說,我有表結構表如下:使用Laravel 5.3時,主鍵列的名稱始終爲id?
Table_A
sid (auto increment, primary)
.... some other column ....
created_at (created using laravel eloquent timestamps() function)
updated_at (same as above)
然後,我通過創建一個新列。
$new_row = new TableA; //TableA is a model created pointing to Table_A
$new_row->col1 = 'Some value';
$new_row->col2 = 'Some other value';
// Some other field
$new_row->save()
然後,這部分代碼之後,
dd($new_row->sid);
令人驚訝地,輸出爲:
null
然而,當我將其更改爲:
dd($new_row->id);
它返回sid(即主鍵v該行的線索)。當我在Laravel Model中使用自動增量作爲主鍵時,主鍵的名稱是否始終爲id?或者爲什麼我只有在使用名稱id
才能獲得價值?
P.S.讓我說清楚:我知道如何獲得主鍵值,並且我知道我可以在模型中設置主鍵的名稱。我想知道的是,如果這種行爲適用於所有主鍵,或者僅適用於主鍵。
即使我居然沒有名爲id列? – cytsunny
laravel使用默認ID作爲主鍵 – iCoders
我不是要求在這個答案的解決方案。我說我知道我可以使用$ new_row-> id來獲得我想要的。我問爲什麼它始終是id,即使我根本沒有名爲「id」的列。如果我沒有使用不是自動增量的主鍵,它仍然是ID嗎? – cytsunny