0

我有处理用户表的基本用户模型,我有两种类型的用户,每种类型都有不同的属性,并从不同的数据库中读取这些属性。

  User: name, email, type (x,y)
  type_x: gender, age
  type_y: color, location

所以我有user桌子,type_x桌子和type_y桌子。

如何创建三个不同的模型,User、Typex 和 Typey,以便我可以以不同的方式检索每个模型的数据并处理不同的表?

4

1 回答 1

1

您只需要创建 3 个不同的模型。

如果类TypeXTypeY确实使用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';
}
于 2013-09-14T16:41:47.460 回答