我是Laravel的新手,我有一些问题
第一个问题:当我使用$ this->在__construct函数中,并希望在方法中使用它像这样的代码:
// construct method
public function __construct() {
$this->user_id = Auth::user()->id_user;
}
// another method
public function index()
{
$this->data['files'] = DB::table('mhd_cloud_transfer_files')->distinct()
->where('mhd_cloud_transfer_files.to_transfer_file',$this->user_id )
->where('mhd_cloud_transfer_files.folder_transfer_file',0)
->orwhere(function($query){
$query->where('from_transfer_file', $this->user_id );
$query->where('to_transfer_file',0);
})
->join('mhd_cloud_files', 'mhd_cloud_files.id_file', '=','mhd_cloud_transfer_files.id_file')
->join('mhd_main_users', 'mhd_main_users.id_user', '=', 'mhd_cloud_files.author_file')
->paginate(25);
}
此错误:
ErrorException:未定义的变量:user_id
当我使用$ this->时出现另一个问题在方法
同样的问题这个错误:
不在对象上下文中时使用$ this
这是我的所有代码(控制器类) http://pastebin.com/eVbuknLd
答案 0 :(得分:0)
尝试将public var $user_id
添加到类声明中。
只需记住检查Auth::user()
是否有NULL
表示没有用户登录。除非您确定在使用此类的任何地方进行检查。