多个关系取决于值

时间:2017-11-28 00:02:13

标签: php laravel relationship

我有一个基本模型UserAccount,代表第三方网站的用户帐户。根据站点的不同,需要与帐户一起存储不同的数据。而不是为每个站点设置一个完整的表,或者将数据设置为数组(这将是导航和维护的地狱)我正在考虑建立一个这样的关系,为每个帐户的数据设置一个单独的表:

用户帐户模型:idtitleusername,... channel_idchannel_data_id

这样我就可以像这样设置数据的关系(其中channel data id指的是表中的行:

public function channel_data()
{
    switch($this->channel_id)
    {
        case 1:
            return $this->belongsTo(\App\Models\AmazonData::class, 'channel_data_id','id');

        case 2:
 return $this->belongsTo(\App\Models\EtsyData::class, 'channel_data_id','id');

        ....
    }

这意味着channel_data对于每个channel_id都是不同的类型。这样做会有很大的缺点吗?在短期内我无法想到,因为视图可以打开通道ID并包含相关的子模板,控制器可以根据需要保存相关模型是否有更好的方法?

0 个答案:

没有答案