具有多个外键的一对多关系laravel

问题描述

我正在使用 Laravel 进行一个项目。

我有两个数据库表,它们之间是一对多关系。它们由三个条件连接。我如何在 Eloquent 中为这种关系建模?

我不应该修改数据库架构,因为它必须与其他东西保持向后兼容。

我尝试了以下方法,但不起作用。 拥有方:

use Illuminate\Database\Eloquent\Model;

class Route extends Model
{
    public function trips()
    {
        return $this->hasMany('Trip','route_name,source_file',source_file')
    }
}

反面:

使用 Illuminate\Database\Eloquent\Model;

class Trip extends Model
{
    public function routes()
    {
        return $this->belongsTo('Route',source_file');
    }
}

我不想使用“使用 Awobaz\Compoships\Compoships;”

解决方法

您需要为 hasMany()belongsTo 方法指定模型的命名空间。 类似 'App\Models\Trip'Trip::class

class Route extends Model
{
    public function trips()
    {
        return $this->hasMany('App\Models\Trip','route_name,source_file',source_file')
    }
}
class Trip extends Model
{
    public function routes()
    {
        return $this->belongsTo('App\Models\Route',source_file');
    }
}