用户

时间:2016-03-07 20:53:32

标签: php mysql laravel eloquent

使用Laravel 5.2我在db表“users”中添加了一列“代码”,我希望过滤器DB :: table结果在控制器中。
我在视图中渲染行很好。但是当我添加where子句 - > where('code',$ codevar)时会收到未找到Auth的错误消息。怎么

表用户

  id            email                    code           password
  -------+----------------------------+------------+-------------------
  1         admin@admin.com (logged)     007             $2y$10$azWc9kKFU/...
  2         user@user.com                666             $2y$10$azWc9kKFU/...

报告表

    code        date            price
    -------+------------------+--------
    007         2016-01-20      $10.20
    666         2016-02-22      $58.00

输出

    code        month            price
    -------+------------------+--------
    007         01               $10.20
    666         02               $58.00

预期产出

    code        month            price
    -------+------------------+--------
    007         01               $10.20

MyController.php

  <?php  
     use DB;
     use Auth;
     namespace LaravelAcl\Authentication\Controllers;
     use Illuminate\Http\Request;
     use LaravelAcl\Library\Form\FormModel;
     use LaravelAcl\Authentication\Models\Permission;
     use LaravelAcl\Authentication\Validators\PermissionValidator;
     use LaravelAcl\Library\Exceptions\JacopoExceptionsInterface;
     use View, Redirect, App, Config;

     class ResumenesController extends Controller
      {

public function getList()
{

    $user      = \Auth::user();
    $codevar   = \Auth::user()->code;/// maybe like this

    $rows= \DB::table('reports')
    ->select('*', \DB::raw('MONTH(date) as month)')
    ->where('code', $codevar)*
    ->orderBy('month','DESC')
    ->paginate(15);

    return View::make('client.report.list',  compact('rows','codevar', 'user'));

}

我如何检索\ Auth :: user()或Auth :: user() - &gt;代码。 只有我想为过滤器表结果获取这些额外的用户表列...

有什么想法可以学习吗?

1 个答案:

答案 0 :(得分:1)

您可以使用auth()->user()全局帮助程序或Auth外观,但请记住,在检索经过身份验证的用户时,您将始终获得所有字段。

正如Christian Gerdes在评论中所说,导入顶部的Auth外观并删除反斜杠。对DB外观做同样的事情。