簡體   English   中英

用戶模型中的Laravel函數將被User :: all()調用

[英]Laravel function in User model that will be called for User::all()

假設我在用戶模型中具有以下功能:

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();
    }]);
}

用它來稱呼它

User::statusAll()->get();

或者您可以在用戶模型中放置靜態函數

public static function statusAll()
{
    $users = User::all();

    return $users->load(['status' => function ($query) {
        $query->ofTranslatedStatuses();
    }]);
}

用它來稱呼它

User::statusAll();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM