apa*_*che 5 sql database laravel
http://laravel.com/docs/4.2/eloquent#relationships
本地钥匙在这件事上意味着什么?它是否意味着表的主键?或者是什么?例如在此代码中
return $this->hasOne('Phone', 'foreign_key');
return $this->hasOne('Phone', 'foreign_key', 'local_key');
Run Code Online (Sandbox Code Playgroud)
local_key是你的表的主键.如果未调用主键,则只需指定它id.
小智 4
我相信一切都写在文档中:
请注意,Eloquent 根据模型名称假定关系的外键。在本例中,假设 Phone 模型使用 user_id 外键。如果您希望覆盖此约定,您可以将第二个参数传递给 hasOne 方法。此外,您可以将第三个参数传递给该方法来指定应用于关联的本地列:
这基本上意味着“local_key”是数据库中表列的名称,负责将相关实体(电话)与当前实体(用户)进行匹配。
如果您查看数据库,我确信您会找到一个带有phone_id列的表用户,尝试将其更改为其他内容(例如仅“电话”),并且您雄辩的请求将崩溃。然后将您的呼叫更改为return $this->hasOne('Phone', 'user_id', 'phone');,这可能会再次起作用。