У меня есть две модели, а именно модель доктора и модель доктора_ комнаты. Я использовал красноречивые отношения один ко многим, чтобы обслуживать врачей, имеющих несколько комнат. Вот мой код для модели моего доктора
class Doctors extends Model
{
protected $primaryKey = 'doctor_id';
public $timestamps = false;
protected $fillable = [
'first_name',
'last_name',
'specialization_id_fk',
];
public function specializations()
{
return $this->belongsTo('App\Specializations', 'specialization_id_fk');
}
public function doctorRooms()
{
return $this->hasMany('App\DoctorRooms', 'doctor_id_fk', 'doctor_id');
}
}
и вот для моей модели doctorRooms
class DoctorRooms extends Model
{
protected $primaryKey = 'doctor_room_id';
public $timestamps = false;
protected $fillable = [
'room',
'doctor_id_fk',
];
public function doctorsInfo()
{
return $this->belongsTo('App\Doctors', 'doctor_id_fk', 'doctor_id');
}
}
Когда я пытался получить доступ к данным в моей модели doctorRooms, я продолжаю получать "Property [room] не существует в этом экземпляре коллекции ". Вот мой код для моего контроллера врачей
class DoctorsController extends Controller
{
public function index()
{
$doctors = Doctors::all();
$rooms = DoctorRooms::all();
foreach($doctors as $doctor) {
echo $doctor->doctorRooms->room;
}
}
}
Вот результат $ докторов, когда я отображаю его в формате JSON.
[
{
"doctor_id":1,
"first_name":"Aracely",
"last_name":"Ullrich",
"specialization_id_fk":12,
"doctor_rooms":[
{
"doctor_room_id":1,
"room":"151",
"doctor_id_fk":1
},
{
"doctor_room_id":3,
"room":"152",
"doctor_id_fk":1
}
]
},
{
"doctor_id":2,
"first_name":"Marjolaine",
"last_name":"Sipes",
"specialization_id_fk":21,
"doctor_rooms":[
{
"doctor_room_id":2,
"room":"131",
"doctor_id_fk":2
}
]
}
]
Я могу сделать это с помощью построителя запросов laravel, но дляРади MVC заболел придерживаться красноречивого ORM. Заранее спасибо!