Laravel eloquent -> Метод не существует. Но это определено в модели - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь уменьшить количество логики, которую я вижу. Поэтому я создаю методы, но вместо этого вызываю их.

Модель пользователя имеет следующие 2 метода.

Он может найти inTenancy просто отлично:

public function inTenancy(){
    return $this->accepted == 1 && $this->request_sent == 0;
}

public function requestPending(){
    return $this->accepted == 0 && $this->request_sent == 1;
}

Это мой контроллер, я не могу позвонить requestPending, но я могу позвонить inTenancy, даже если они находятся в одном месте.

Есть идеи?

@if($tenancy->requestPending())
    <form method="POST" action="/account/tenancy/{{$user->id}}/accept">
        {{ csrf_field() }}
        <input type="submit" class="btn btn-primary" value="Accept Request">
    </form>
    <form method="POST" action="/account/tenancy/{{$user->id}}/reject">
        {{ csrf_field() }}
        <input type="submit" class="btn btn-warning" value="Reject Request">
    </form>

@elseif($tenancy->inTenancy())
    <form method="POST" action="/account/tenancy/{{$user->id}}/end">
        {{ csrf_field() }}
        <input type="submit" class="btn btn-primary" value="End Tenancy">
    </form>
    <h5>Currently in Tenancy with {{$tenancy->landlord_name}}</h5>
    <h5>Your property is {{$tenancy->property_address}}</h5>
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...