Moh*_*ira 3 php laravel eloquent
我尝试按照此处的文档进行操作,但没有得到所需的结果,我的表格看起来像
用户表
id (pk - int) | username,
Run Code Online (Sandbox Code Playgroud)
推文表
id (pk - int) | user_id (fk - int) | tweet(varchar)
Run Code Online (Sandbox Code Playgroud)
用户模型
public function tweets() {
return $this->hasMany('App\Tweet', 'user_id); // user_id is FK
}
Run Code Online (Sandbox Code Playgroud)
推文模型
public function user() {
return $this->belongsTo('App\User');
}
Run Code Online (Sandbox Code Playgroud)
在控制器方面,我使用 eloquent 来检索数据。我有这个方法,
public function ajax($id) {
$data = User::with('tweets')->find($id)->tweets();
return $data;
}
Run Code Online (Sandbox Code Playgroud)
我尝试遵循此处的逻辑,但在控制器代码上收到以下错误:
试图获取非对象的属性
为什么不简单地这样做:
$User = User::find($id);
$tweets = Tweet::whereUserId($id)->get(); // or ->paginate(20);
return compact('User', 'tweets');
Run Code Online (Sandbox Code Playgroud)
ps 我知道急切加载,但它执行相同的操作+它还执行额外但不必要的操作来将tweets集合连接到User对象。
| 归档时间: |
|
| 查看次数: |
13291 次 |
| 最近记录: |