@VaniXac
17 лет

Почему не получается связать таблицы в Laravel?

Controller:
public function getMyInvest() {
        $myInvest = Invest::->where('user_id', Session::get('id_user'))->get();

        return view('invest.my-invest', ['invests' => $myInvest]);
    }


Вывод в view:
@foreach($invests as $invest)
        <tr>
            <th scope="row">{{$invest->id}}</th>
            <td>{{$invest->tarif_id->name}}</td>
            <td>{{$invest->created_at}} - 16.03.18</td>
            <td>{{$invest->sum}}руб.</td>
            <td><a class="glyphicon icon-remove" href="" > </a></td>
        </tr>
        @endforeach


И сама модель:
class Invest extends Model
{
    public $timestamps = false;

    public function tarif_id() {
        return $this->hasOne('App\Models\Invest_tarif', 'id');
    }
}


В чем причина ошибки
5a8985a6ba955738975104.png
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Ошибка очевидна, если вы хотя бы попытаетесь прочитать документацию: тык

Соблюдайте кодстайл (tarif_id -> tariff, Invest_tarif -> InvestTariff) и все у вас будет работать.

Так же интересно, как вы пытаетесь юзать поле created_at, если отключены таймстампы..

PS: в пхп новый оператор ::->?))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы