Php 用户模型中将为User::all()调用的Laravel函数
假设我在用户模型中有此功能:Php 用户模型中将为User::all()调用的Laravel函数,php,laravel,eloquent,relationship,Php,Laravel,Eloquent,Relationship,假设我在用户模型中有此功能: public function loadOrderStatus(){ $this->load(['status' => function ($query) { $query->ofTranslatedStatuses(); }]); } 此函数适用于单个模型实例,如:User::first() 但是该函数如何与User::all()一起使用呢 您可以在用户模型中使用scopeQuery public functio
public function loadOrderStatus(){
$this->load(['status' => function ($query) {
$query->ofTranslatedStatuses();
}]);
}
此函数适用于单个模型实例,如:User::first()
但是该函数如何与
User::all()
一起使用呢 您可以在用户模型中使用scopeQuery
public function scopeStatusAll($query)
{
return $query->with(['status' => function ($query) {
$query->ofTranslatedStatuses();
}]);
}
public static function statusAll()
{
$users = User::all();
return $users->load(['status' => function ($query) {
$query->ofTranslatedStatuses();
}]);
}
称之为
User::statusAll()->get();
User::statusAll();
或者您可以在用户模型中放置一个静态函数
public function scopeStatusAll($query)
{
return $query->with(['status' => function ($query) {
$query->ofTranslatedStatuses();
}]);
}
public static function statusAll()
{
$users = User::all();
return $users->load(['status' => function ($query) {
$query->ofTranslatedStatuses();
}]);
}
称之为
User::statusAll()->get();
User::statusAll();