Model: User
Primary Key: emp_no (alphanumeric)
Fields: password, remember_token
Model: Employee
Primary Key: emp_no (alphanumeric)
Fields: first_name, last_name
使用$users = Users::with('employee')->get();'
我可以获得具有各自员工记录的用户列表。
我可以按
进行迭代@foreach($users as $user)
{{ $user->emp_no}} //Not working, always returns 0
{{ $user->password }} //Working
{{ $user->remember_token }} //Working
{{ $user->employee->emp_no}} //Not working, always returns 0
{{ $user->employee->first_name }} //Working
{{ $user->employee->last_name }} //Working
@endforeach
正如我评论的那样,两者都试图显示emp_no这两个表的主键都不起作用。
答案 0 :(得分:0)
缺少一些信息,我们在Laravel的IRC频道聊了一会儿。问题是可能模型仍然有$incrementing = true
,而他的主键是一个字符串。 $ incrementing属性需要设置为false。
此外,Eloquent假定主键是递增的整数值,这意味着默认情况下主键将自动转换为int。如果您希望使用非递增或非数字主键,则必须将模型上的public $ incrementing属性设置为false。