我有处理用户表的基本用户模型,我有两种类型的用户,每种类型都有不同的属性,并从不同的数据库中读取这些属性。
User: name, email, type (x,y)
type_x: gender, age
type_y: color, location
所以我有user
桌子,type_x
桌子和type_y
桌子。
如何创建三个不同的模型,User、Typex 和 Typey,以便我可以以不同的方式检索每个模型的数据并处理不同的表?
您只需要创建 3 个不同的模型。
如果类TypeX
并TypeY
确实使用User
类中的方法,请扩展该类。如果不需要,只需扩展Eloqeunt
类。
您写道,每种类型都将使用不同的数据库 - 您必须指定不同的连接。好吧,只需添加$connection
属性。Laravel 使用命名连接,因此请使用app/config/database.php
文件中指定的连接名称。
<?php
class User extends Eloquent
{
// this model loads data user table from default connection
protected $table = 'user';
// other methods...
}
class TypeX extends User
{
// this model loads data user table
protected $table = 'user';
// ... but from different DB connection
protected $connection = 'connection1';
}
class TypeY extends User
{
// this model loads data user table
protected $table = 'user';
// ... but from different DB connection
protected $connection = 'connection2';
}