-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