Laravel では、次のようなテーブル プロパティを使用してモデルに対応するテーブルを定義するのが一般的です。
class User extends Model { protected $table = 'users'; }ただし、テーブルに直接マッピングする代わりに、サブクエリを使用できます。この手法を使用すると、データベース ビューを作成するのと同じように、複雑なクエリをアプリケーション層内にカプセル化できますが、Eloquent 操作の柔軟性も追加されています。
たとえば、管理者と通常のユーザーの両方に関する情報を保存するユーザー テーブルについて考えてみましょう。サブクエリ:
を使用して AdminUser モデルを作成できます。
class User extends Model { protected $table = 'users'; }このモデルはサブクエリ (admin_user = 1 のユーザーから ID、名前を選択) からデータを取得し、標準モデルと同じようにクエリできるようにします。
class User extends Model { protected $table = 'users'; }または
class User extends Model { protected $table = 'users'; }ただし、find(1) などの特定のクエリは直接機能しないことに注意してください。
class User extends Model { protected $table = 'users'; }これを回避するには、where 条件を first():
と組み合わせて使用できます。
class User extends Model { protected $table = 'users'; }結論
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3