【发布时间】:2019-03-10 18:06:09
【问题描述】:
我正在尝试获取国家/地区名称的数据,
我有两个模型
1)用户模型
用户:
class Users extends Model
{
protected $fillable = ['fname','lname','email','password','address','state','city'];
public function address1()
{
return $this->hasOne('App\Addresses');
}
}
2)地址模型
地址:
class addresses extends Model
{
protected $fillable = ['user_id','country'];
public function user()
{
return $this->belongTo('App\users');
}
}
现在我得到了输出 - 这是一个错误:
SQLSTATE[42S22]:未找到列:1054 未知列 'where 子句'中的'addresses.users_id'(SQL:select * from
addresses其中addresses.users_id= 5 而addresses.users_id不是 null 和addresses.id= 2 限制 1) (查看: /Applications/XAMPP/xamppfiles/htdocs/demo/resources/views/profiles.blade.php)
请解决我的问题。
【问题讨论】:
-
那么,你读过那个错误信息了吗?它非常清楚地告诉你问题是什么......
-
没有从数据库中获取数据
-
你这是什么意思?你读过错误信息吗?
-
遵循命名约定! Laravel 尝试从关联模型的名称中猜测外键,由于您的模型是
Users而不是User,它试图找到users_id而不是正确的user_id。
标签: laravel laravel-5 eloquent laravel-5.7