自訂 Laravel Query Builder:使用 newEloquentBuilder
Query Builder 是一個強大的工具,用於構建和執行資料庫查詢。有時候我們可能需要更進一步地自訂 Query Builder,以滿足特定的需求。在這篇文章中,我們將深入探討 Laravel 的 Query Builder,並介紹如何使用 newEloquentBuilder 來自訂 Query Builder,以提供更彈性和強大的資料庫查詢功能。 創建一個自訂的ProductBuilder 類別,繼承 Illuminate\Database\Eloquent\Builder use Illuminate\Database\Eloquent\Builder; class ProductBuilder extends Builder { public function available() { return $this->where('status', 'available'); } } 接下來,我們需要在相應的 Product 模型中指定使用自訂的 ProductBuilder,而不是默認的 Builder: use Illuminate\Database\Eloquent\Model; class Product extends Model { /** * Get a new query builder instance for the model. * * @param \Illuminate\Database\Query\Builder $query * @return \App\Builders\ProductBuilder */ public function newEloquentBuilder($query) { return new ProductBuilder($query); } } 我們可以在使用 Product 模型進行查詢時,使用 available() 方法來篩選已上架的產品:...