我的查询有一个小问题。
我有一个显示最新电影限制 10 的 View 。
我遇到的问题是它显示了两次记录。
当我检查数据库时,只有一条记录,所以没有重复的记录。我的观点产生:
Clerks II
Clerks II
50/50
50/50
当它假定每个只有 1 个而不是每个 2 个时。
这是我的观点:
@foreach ($latest as $last)
<li>{{HTML::link('movies/' .$last->idMovie, $last->c00) }}</li>
@endforeach
这是查询
模型:
public static function latest()
{
$latest = DB::table('movieview')
->select('movieview.*','art.*')
->join('art', 'art.media_id', '=', 'movieview.idMovie')
->where('art.type', '=', 'fanart')
->orderBy('dateAdded', 'DESC')
->take(10)
->get();
return $latest;
}
最后是我的 Controller 。
我正在使用 view::Composer
,因为边栏有点像小部件:
View::composer('site/latest', function($view){
$latest = Movies::latest();
$newmovie = Movies::newMovie();
$view->with(array(
'latest'=> $latest,
'newmovie'=> $newmovie
));
});
附带说明一下,我将我的 laravel 安装移到了新服务器中。在旧服务器上它工作得很好。我错过了什么吗?我做了所有的事情,比如 composer update composer dump-autoload。我想不出别的了。
最佳答案
调试此类问题的一种方法是在您的开发计算机上启用通用查询日志,这样您就可以实际看到正在生成的查询并丢弃逻辑问题。
您可以通过以下方式激活通用查询日志
在你的 mysql 服务器中运行这两个查询
SET global general_log = 1;
SET global log_output = 'table';
然后您可以使用此查询读取日志:
从 mysql.general_log 中选择 *
关于当 MySQL 中没有记录时,Laravel 4 流畅查询返回重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222100/