Datatables或数据库和Laravel 5.5的条件

时间:2018-11-03 06:24:10

标签: laravel datatable

我有一个laravel项目,如果用户登录有我的ID,我想创建条件if或在哪里数据库,然后显示主要内容。

这是我在View上的JavaScript

    <script>
  $('#dataTable').DataTable({
    processing: true,
    serverSide: true,
    ajax: '{{ route('api.row_cosos') }}',    
    columns: [
    { data: 'cosos.id'},
    { data: 'tencoso' },   
    { data: 'chucoso'},   
    { data: 'dkkd'},
    { data: 'diachi'},
    { data: 'sdt'},     
    { data: 'name'}, 
    { data: 'ghichu'},
    { data: 'created_at'},
    { data: 'action', name: 'action', orderable: false, searchable: false }
    ],    
});
</script>

这是我在控制器上的api.row_cosos

选项1:这是使用where('users.id','=',1)->成功创建的方式

public function getCososData()
    {      
        $cosos = DB::table('cosos')
        ->join('users', 'cosos.quanly_id', '=', 'users.id')            
        ->select('cosos.id', 'cosos.tencoso','cosos.chucoso','cosos.dkkd','cosos.sdt','cosos.ghichu','cosos.diachi','users.name','cosos.created_at','cosos.updated_at') 
        ->where('users.id', '=', 1) 
        ->get();
    return Datatables::of($cosos)        
    ->addColumn('action', function ($cosos) {
        return '<a href="/admin/cosos/'. $cosos->id.'/edit" class="btn btn-success btn-xs"><i class="glyphicon glyphicon-edit"></i> Sửa</a> <a href="/admin/delete-coso/" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-trash"></i> Xóa</a>';
    })
    ->editColumn('cosos.id', '{{$id}}')
    ->removeColumn('cosos.updated_at')
    ->setRowId('cosos.id')
    ->setRowClass(function ($coso) {
        return $coso->id % 2 == 0 ? 'alert-success' : 'alert-warning';
    })
    ->setRowData([
        'cosos.id' => 'test',
    ])
    ->setRowAttr([
        'color' => 'red',
    ])
    ->make(true);
}

选项2:这是使用where('users.id','=',Auth:id())创建的方式,我使用用户ID = 1->登录时出错

public function getCososData()
        {      
            $cosos = DB::table('cosos')
            ->join('users', 'cosos.quanly_id', '=', 'users.id')            
            ->select('cosos.id', 'cosos.tencoso','cosos.chucoso','cosos.dkkd','cosos.sdt','cosos.ghichu','cosos.diachi','users.name','cosos.created_at','cosos.updated_at') 
            ->where('users.id', '=', Auth:id()) 
            ->get();
        return Datatables::of($cosos)        
        ->addColumn('action', function ($cosos) {
            return '<a href="/admin/cosos/'. $cosos->id.'/edit" class="btn btn-success btn-xs"><i class="glyphicon glyphicon-edit"></i> Sửa</a> <a href="/admin/delete-coso/" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-trash"></i> Xóa</a>';
        })
        ->editColumn('cosos.id', '{{$id}}')
        ->removeColumn('cosos.updated_at')
        ->setRowId('cosos.id')
        ->setRowClass(function ($coso) {
            return $coso->id % 2 == 0 ? 'alert-success' : 'alert-warning';
        })
        ->setRowData([
            'cosos.id' => 'test',
        ])
        ->setRowAttr([
            'color' => 'red',
        ])
        ->make(true);
    }

请帮助我,谢谢

1 个答案:

答案 0 :(得分:0)

写入Auth :: user()-> id,它将访问用户表并指向用户表的ID。然后您将获得数据。