gpt4 book ai didi

php - Laravel 城市关系外键

转载 作者:行者123 更新时间:2023-12-04 05:15:30 26 4
gpt4 key购买 nike

我对 Laravel 真的很陌生,我确定我做错了什么

我有2张 table 。 Citiesusers_metadata
我的城市表看起来像这样

id | City        |
1 | New York |
1 | Los Angeles |

用户元数据
user_id | firt name | last name | cities_id |
1 | Jonh | Doe | 2 |

所以我的问题是当我创建一个关系时我得到了纽约,因为城市 ID 与用户 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不知何故在我的关系匹配?还是我做错了?有人可以给我一个基本的例子吗?

谢谢你们

最佳答案

试试这个:

城市模型

class City extends Eloquent 
{
public static $table = "cities";
public function profile()
}

型材模型
class Profile extends Eloquent 
{
public static $timestamps = false;
public static $table = "users_metadata";
public static $key = "user_id";
public function city()
{
return static::belongs_to('City');
}
}

我遇到了同样的问题,认为我应该使用 has_one,但我需要使用belongs_to。 user1808639 可能不起作用,因为您在城市模型中仍然有一个“has_many”。

关于php - Laravel 城市关系外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14335723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com