【发布时间】:2018-08-24 04:55:13
【问题描述】:
我正在学习关于 Udemy 的 Laravel 课程,虽然我遵循了讲师所做的一切,但由于某种奇怪的原因,我没有得到预期的结果。
这是一对一的关系课,我在用户模型中添加了一个函数来检查它是否有任何帖子。
如果 user_id 等于,则添加显示帖子的路由。
app\User.php
public function post() {
return $this->hasOne('App\Post');
}
app\Http\routes.php
Route::get('/user/{id}/post', function($id) {
return User::find($id)->post;
});
下面是来自数据库的屏幕截图,显示我在帖子表中有一个 user_id = 1 的帖子。我在用户表中还有一个 id=1 的用户。 MySQL data 为什么访问 domain/user/1/post 时出现空白页?
Sohel,我从你的函数中得到了结果,但必须使用
var_dump(User::with('post')->where('id',1)->first());
然后尝试了其他方法:
return User::with('post')->where('id',$id)->first();
结果如下:
{"id":1,"name":"Nick","email":"nick@kriogen.name","created_at":"2018-03-15 09:49:51","updated_at":"2018-03-15 09:49:51","post":null}
【问题讨论】:
-
您检查
laravel.log文件是否有任何错误? -
日志中没有错误。此外,如果我有一个,它会显示一个错误,但是,我得到的只是一个空白页,并且日志文件中没有错误。
-
试试
return $this->hasOne('App\Post', 'post_id', 'id');。此外,如果您想查看错误,请启用错误报告。 -
请展示
dd(User::with('post')->where('id',1)->first())提供的内容 -
对不起,只是想通了并添加了您所说的答案,然后看到了您的评论。谢谢,是的,这就是我遇到的问题。
标签: php laravel laravel-5.2 laravel-eloquent