Вот мой запрос по умолчанию. Я хочу преобразовать Eloquent запрос
Это TransferController. php
public function index()
{
return Transfer::with(['employee','new_office', 'old_office','designation'])
->orderby('id', 'desc')
->get();
}
Вот моя модель передачи. php
class Transfer extends Model
{
protected $table = 'transfers';
protected $fillable = [
'employee_id','order_date','join_date','old_office_id', 'new_office_id',
];
protected $primaryKey = 'id';
public $timestamps = false;
public function employee(){
//return $this->belongsToMany(Employee::class);
return $this->belongsTo(Employee::class, 'employee_id');
}
public function new_office(){
return $this->belongsTo(Office::class, 'new_office_id');
}
public function old_office(){
return $this->belongsTo(Office::class, 'old_office_id');
}
public function designation(){
return $this->belongsToMany(Designation::class, 'employees','id', 'designation_id', 'employee_id');
//I want to convert this query by eloquent feature.
// return DB::table('designations')
// ->join('employees', 'designations.id', '=', 'employees.designation_id')
// ->join('transfers', 'employees.id', '=', 'transfers.employee_id')
// ->select('designations.*')
// ->get();
}
}
Я не могу понять belgongToMany или hasOneThrough идеально подходит для обозначения запроса (), но другие функции в порядке