Laravel Eloquent和setTable()在关系中

时间:2017-11-21 18:23:28

标签: php laravel eloquent

我正在尝试使用settable()方法并从relashionship获取数据。这是我的模特:

class Order extends Model
{
    public function list(){
        return $this->hasMany('App\Models\List');
    }
}
class List extends Model
{
    public function order(){
        return $this->belongsTo('App\Models\Order', 'order_id');
    }
}

在Controller中,我在select:

之前设置了表
$this->list->setTable("user_".auth()->user()->id."_lists");
$users = $this->list->where('order_id', $id)->with('Order')->get();

问题是:setTable()方法可以正确设置列表,但是如何正确设置orders表,因为with()方法只获取默认订单表?示例:订单表应为用户_ {$ id} 订单,而列表表应为用户 {$ id} _lists

1 个答案:

答案 0 :(得分:1)

老实说,这没有任何意义。当您有1000个用户时,您将拥有1000个订单表和1000个表列表?您应该重新考虑数据库设计。