为什么自己不处理 eloquent 查询 (laravel 5.3)?
Why self not working on the eloquent query (laravel 5.3)?
我的仓库代码是这样的:
public function getStatusList()
{
$query = UsersBank::where('user_id', '=', auth()->user()->id)
->where('status', '=', 1)
->count();
dd($query);
}
dd($query) = 1 的结果,为真
但我这样尝试自己:
public function getStatusList()
{
$query = self::where('user_id', '=', auth()->user()->id)
->where('status', '=', 1)
->count();
dd($query);
}
dd($query) = 4 的结果为假
为什么使用self时,结果不正确?
self 只适用于静态 classes/properties 我想你的不是。请改用 $this。
像这样
$query = $this->where('user_id', '=', auth()->user()->id)
->where('status', '=', 1)
->count();
阅读手册:
http://php.net/manual/en/language.functions.php
如果使用静态方法,则只能使用 self::staticMethod();或命名空间。
如果您使用 non-static 方法,您可以使用 $this->method();
我的仓库代码是这样的:
public function getStatusList()
{
$query = UsersBank::where('user_id', '=', auth()->user()->id)
->where('status', '=', 1)
->count();
dd($query);
}
dd($query) = 1 的结果,为真
但我这样尝试自己:
public function getStatusList()
{
$query = self::where('user_id', '=', auth()->user()->id)
->where('status', '=', 1)
->count();
dd($query);
}
dd($query) = 4 的结果为假
为什么使用self时,结果不正确?
self 只适用于静态 classes/properties 我想你的不是。请改用 $this。
像这样
$query = $this->where('user_id', '=', auth()->user()->id)
->where('status', '=', 1)
->count();
阅读手册: http://php.net/manual/en/language.functions.php
如果使用静态方法,则只能使用 self::staticMethod();或命名空间。
如果您使用 non-static 方法,您可以使用 $this->method();