Добрый вечер, я немного играю с Laravel, и у меня такая ситуация. У меня есть 2 модели и 3 таблицы для отображения жизненно важных признаков от пациента.Получение значений столбцов столбцов и вертированных таблиц Laravel 3
Table pacient:
id
names
birthdate
Table vital_sign:
id
description
unit
table pacient_vital_sign
id
pacient_id
vital_sign_id
first_value
second_value
date_time_taken
И 2 модели:
class Pacient extends Eloquent{
public static $timestamps = false;
public function vital_signs(){
return $this->has_many_and_belongs_to('VitalSign', 'pacient_vital_sign', 'pacient_id', 'vital_sign_id');
}
}
class VitalSign extends Eloquent{
public static $timestamps = false;
public static $table = 'vital_signs';
public function pacients(){
return $this->has_many_and_belongs_to('Pacient', 'pacient_vital_sign', 'vital_sign_id', 'pacient_id');
}
}
И на мой взгляд я посылаю Pacient, жизненные признаки я хочу показать:
$pacient = Pacient::where('active', '=', 1)->first();
Итак, основываясь на documentation Я мог бы сделать это, чтобы показать основные данные таблицы:
@foreach($pacient->vital_signs as $sv)
<tr>
<td>{{ $sv->pivot->date_time_taken }}</td>
<td>{{ $sv->description }}</td>
<td>{{ $sv->pivot->first_value }} {{ $sv->pivot->second_value }}</td>
</tr>
@endforeach
Но таким образом не отображается ни значение date_time_taken, ни first_value, либо second_value. Отображается описание.
Теперь, если я что-то вроде этого
@foreach($pacient->vital_signs()->pivot()->get() as $sv)
<tr>
<td>{{ $sv->date_time_taken }}</td>
<td>{{ $sv->description }}</td>
<td>{{ $sv->first_value }} {{ $sv->second_value }}</td>
</tr>
@endforeach
date_time_taken, FIRST_VALUE и secon_value отображается, но я не знаю, как обратные отношения для того, чтобы отобразить значение для соответствующего столбца таблицы, в этом случае , описание из файла vital_sign
Так что в обоих случаях я чего-то не хватает. Есть идеи? Что я пропущу?
Благодаря
В вашем первом '@ foreach' как насчет использования' $ sv-> pivot() -> first_value'? –
Пробовал и выбрасывал эту ошибку: Метод [pivot] не определен в классе Query – Cheluis
Ах да, я думаю, это имеет смысл. Я могу вам точно сказать, что второй пример не будет содержать описание, потому что он не существует на своде. Почему ваш первый пример не работает? Я, к сожалению, не уверен. –