ホームページ >バックエンド開発 >PHPチュートリアル >Laravelで最新かつ最も古い関係方法
およびlatestOfMany()
メソッドを提供します。 これにより、それ以外の場合は複雑な並べ替えとフィルタリングが必要なクエリが簡素化されます。
oldestOfMany()
これらの方法は、履歴データの追跡、最近のアクティビティの表示、または初期イベントを特定する必要があるアプリケーションで特に役立ちます。
顧客のやり取り、購入、サブスクリプションの管理のより包括的な例です。
このデータへのアクセスは簡単ですclass User extends Model { public function lastLogin(): HasOne { return $this->hasOne(Login::class)->latestOfMany(); } public function firstPurchase(): HasOne { return $this->hasOne(Purchase::class)->oldestOfMany(); } }および
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasOne; class Customer extends Model { public function lastInteraction(): HasOne { return $this->hasOne(Interaction::class)->latestOfMany(); } public function largestPurchase(): HasOne { return $this->hasOne(Purchase::class)->ofMany('total_amount', 'max'); } public function initialSubscription(): HasOne { return $this->hasOne(Subscription::class)->oldestOfMany('started_at'); } public function activeMembership(): HasOne { return $this->hasOne(Membership::class)->latestOfMany()->where('status', 'active'); } }メソッドは、関係定義内で複雑なクエリロジックをカプセル化することにより、コードの読みやすさと保守性を大幅に改善します。
以上がLaravelで最新かつ最も古い関係方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。