Laravel 8 自定義集合

2021-07-08 11:24 更新

如果你需要使用自定義 Collection 對(duì)象與自己的擴(kuò)展方法一起使用, 可以在你的模型上重寫 newCollection 方法:

<?php

namespace App\Models;

use App\Support\CustomCollection;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * 創(chuàng)建一個(gè) Eloquent 集合實(shí)例
     *
     * @param  array  $models
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function newCollection(array $models = [])
    {
        return new CustomCollection($models);
    }
} 

一旦你定義了 newCollection 方法, 你將隨時(shí)可以從你的自定義集合中接收一個(gè) Collection 返回的一個(gè)模型實(shí)例.。如果要為應(yīng)用程序的每個(gè)模型使用自定義集合,就應(yīng)該重寫所有模型擴(kuò)展的基類模型中 newCollection 方法。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)