方法 whereDate 不存在

Thu*_*sX3 0 laravel eloquent laravel-5.3

    \n
  • Laravel 版本:5.3.28
  • \n
  • PHP 版本:7.0.10
  • \n
  • 数据库驱动程序和版本:MySQL 5.7.14
  • \n
\n\n

当我尝试在视图页面中使用 whereDate 时,出现错误。

\n\n
\n

1/2 Macroable.php 第 74 行中的 BadMethodCallException:方法 whereDate\n 不存在。

\n\n

2/2 Macroable.php 第 74 行中的 ErrorException:方法 whereDate 不\n 存在。(查看:\n C:\\wamp\\www\\2_Work\\dashboard\\resources\\views\\pdf\\user.blade.php)

\n
\n\n

我的模型关系有效,但为什么我不能使用 whereDate 函数。

\n\n
@extends(\'layouts.pdf\')\n\n@section(\'content\')\n  <table border="1" cellspacing="0" cellpadding="0" width="545">\n    <tr>\n      <th>\xe0\xb8\x8a\xe0\xb8\xb7\xe0\xb9\x88\xe0\xb8\xad\xe0\xb8\x9c\xe0\xb8\xb9\xe0\xb9\x89\xe0\xb9\x83\xe0\xb8\x8a\xe0\xb9\x89\xe0\xb8\x87\xe0\xb8\xb2\xe0\xb8\x99</th>\n      <th>\xe0\xb9\x80\xe0\xb8\x82\xe0\xb9\x89\xe0\xb8\xb2\xe0\xb9\x83\xe0\xb8\x8a\xe0\xb9\x89\xe0\xb8\xa5\xe0\xb9\x88\xe0\xb8\xb2\xe0\xb8\xaa\xe0\xb8\xb8\xe0\xb8\x94</th>\n      <th>\xe0\xb8\x88\xe0\xb8\xb3\xe0\xb8\x99\xe0\xb8\xa7\xe0\xb8\x99\xe0\xb8\x81\xe0\xb8\xb2\xe0\xb8\xa3\xe0\xb9\x80\xe0\xb8\x82\xe0\xb9\x89\xe0\xb8\xb2\xe0\xb9\x83\xe0\xb8\x8a\xe0\xb9\x89\xe0\xb8\x87\xe0\xb8\xb2\xe0\xb8\x99\xe0\xb9\x83\xe0\xb8\x99 7 \xe0\xb8\xa7\xe0\xb8\xb1\xe0\xb8\x99</th>\n      <th>\xe0\xb8\x88\xe0\xb8\xb3\xe0\xb8\x99\xe0\xb8\xa7\xe0\xb8\x99\xe0\xb8\x87\xe0\xb8\xb2\xe0\xb8\x99\xe0\xb8\x97\xe0\xb8\xb5\xe0\xb9\x88\xe0\xb8\x97\xe0\xb8\xb3\xe0\xb9\x83\xe0\xb8\x99\xe0\xb8\xa7\xe0\xb8\xb1\xe0\xb8\x99\xe0\xb8\x97\xe0\xb8\xb5\xe0\xb9\x88 13/01/2560</th>\n    </tr>\n    @foreach ($users as $user)\n      <tr>\n        <td><span class="td-text">{{$user->user_detail}}</span></td>\n        <td align="center">{{$user->ual->first()->created_at ?? NULL}}</td>\n        <td align="center">{{$user->ual->where(\'created_at\', \'>=\', \'(CURDATE() - INTERVAL 7 DAY)\')->count()}}</td>\n        <td align="left"><?php var_dump( $user->dataDetail->whereDate(\'created_at\', \'2017-01-13\')->toArray() ); ?></td>\n      </tr>\n    @endforeach\n  </table>\n@endsection\n
Run Code Online (Sandbox Code Playgroud)\n\n

控制器

\n\n
$data[\'users\'] = UserModel::all();\nreturn view(\'pdf.user\', $data);\n
Run Code Online (Sandbox Code Playgroud)\n\n

用户模型

\n\n
class UserModel extends Model\n{\n  public function dataDetail()\n  {\n    return $this->hasMany(\'App\\DataDetailModel\', \'user_id\', \'user_id\');\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

CUG*_*een 6

您可能需要使用$user->dataDetail()括号,以便可以利用查询生成器。

编辑:正如您在评论中提到的,您还需要添加get()才能访问该集合。

所以$user->dataDetail()->whereDate('created_at', '2017-01-13')->get()->toArray()