我真的很新laravel,我敢肯定我做错了什么Laravel城市关系外键
我有2个表。 Cities
而users_metadata
我的城市台这个样子的
id | City |
1 | New York |
1 | Los Angeles |
用户的元数据
user_id | firt name | last name | cities_id |
1 | Jonh | Doe | 2 |
所以我的问题是,当我建立一个关系,我得到纽约,因为...该市ID与匹配用户名为
城市模型
class City extends Eloquent
{
public static $table = "cities";
public function profile()
{
return static::has_many('Profile');
}
}
剖面模型
class Profile extends Eloquent
{
public static $timestamps = false;
public static $table = "users_metadata";
public static $key = "user_id";
public function city()
{
return static::has_one('City');
}
}
错误
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'profile_id' in 'where clause'
SQL: SELECT * FROM `cities` WHERE `profile_id` = ? LIMIT 1
Bindings: array (
0 => 1,
)
如果我不通过ID到了一个我碰到下面的错误
好吧,我明白这一点。
所以我的问题是我能通过外键cities_id
以某种方式在我的关系匹配?或即时做这一切都错了?有人能给我一个基本的例子吗?
谢谢你们伙计
@ w0rldart当原因不明显时,请给出您的编辑的描述性原因 - 并且不需要“编辑”标题。 – AD7six