У меня есть две модели, учетная запись и подрядчик. Учетная запись (пользователь) может быть подрядчиком, поэтому я создал рекурсивные отношения. Модель Подрядчика выглядит так.Получить модель с ее рекурсивными отношениями в одной модели
class Contractor extends Model
{
protected $table = "contractors";
public function user()
{
return $this->belongsTo("\App\Account", "user_id", "id");
}
}
Имея в виду, что учетная запись имеет следующие поля
Счет
- ID
- PASSWD
- имя
Я хотел бы получить подрядчиков с его полей и пользовательских полей объединяются так же, как если бы они где то же самое, как и что:
Подрядчик
- ID
- PASSWD
- имя
- contractor_type
Я не хочу:
\App\Contractor::with('user')->first();
Я хотел бы получить все поля с
\App\Contractor::first()
можно добиться того, что путем переопределения какой-то метод или в какой-то хитрый способ?
это невозможно, требуется для связи –
Для достижения этой цели вам требуется инструкция [join] (https://laravel.com/docs/5.3/queries#joins). – devk