当 MySQL 中没有记录时,Laravel 4 流畅查询返回重复记录

标签 laravel laravel-4

我的查询有一个小问题。

我有一个显示最新电影限制 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/

相关文章:

php - 以 laravel 形式更新按钮点击的数据库

php - 对于某些参数仅触发一次计划任务

laravel - Laravel 中的 weekOn() 链接

laravel - Auth 记住系统未按预期工作

php - Laravel Eloquent 查询 'with'

javascript - 使用 VueJS 和 vue-resource 无限滚动

php - Laravel 外键更改为小写

php - 将基本查询转换为 Eloquent orm laravel

php - 具有 laravel 查询限制的数据表服务器端分页

php - 如何在 Laravel 5.2 中使用 cookie