Попытка получить свойство expiry_date необъекта в laravel - PullRequest
0 голосов
/ 04 марта 2020

Пожалуйста, помогите решить эту проблему

мой код контроллера

public function index()
 {


    $callrecordings = DB::table('callrecordings')
        ->join('users', 'users.id', '=', 'callrecordings.user_id')
        ->leftJoin('disableapp', 'callrecordings.user_id', '=', 'disableapp.user_id')
        ->select('callrecordings.*', 'users.expiry_date')
        ->where('callrecordings.user_id', '=', Auth::id())
        ->where(function($q){
            $q->where('disableapp.status', '=', 1)
                ->orWhereNull('disableapp.status');
        })
        ->paginate(5);

        dd($callrecordings);

        if($callrecordings[0]->expiry_date <= Carbon::now()->toDateTimeString()){

        $result = 'That email belongs to an existing referrer.';

        return view('frontend.views.package-expire', compact('result'));
      }

      else{
         return view('frontend.views.callrecordings', compact('callrecordings'));   
      }  
}

мой блейд-файл

<table id="example" class="table table-bordered dt-responsive nowrap dataTable no-footer dtr-inline" style="width:100%">
        <thead>
            <tr>

                <th>Name</th>
                <th>Number</th>
                <th>Duration</th>
                <th>Size</th>
                <th>Direction</th>
                <th>Audio</th>
                <th>Download</th>
                <th>Timestamp</th>
            </tr>
        </thead>
        <tbody>
             @foreach ($callrecordings as $callrecording)
            <tr>

                <td>{{ $callrecording->name }}</td>
                <td>{{ $callrecording->phone}}</td>
                <td>{{ $callrecording->duration}}</td>
                <td>{{ $callrecording->size}}</td>
                <td>
                @if ($callrecording->direction === 'Incoming')  
                    <span class="label label-success">Incoming</span>
                @elseif ($callrecording->direction === 'Outgoing')  
                    <span class="label label-info">Outgoing</span>
                @elseif ($callrecording->direction === 'Rejected')
                    <span class="label label-warning">Rejected</span>
                @else
                    <span class="label label-danger">Missed</span>
                @endif
                </td>
                <td>
                    <audio id='sound1'>
                      <source src="{{ URL::to('/') }}/uploads/audio/{{ $callrecording->audio }}" type="audio/ogg">
                      <source src="{{ URL::to('/') }}/uploads/audio/{{ $callrecording->audio }}" type="audio/mpeg">
                    </audio>

                    <div class="play btn btn-success btn-xs" id="btn1">play</div>

                </td>
                <td>
                     <a href="{{ URL::to('/') }}/uploads/audio/{{ $callrecording->audio }}" download="proposed_file_name" class="btn btn-primary btn-xs"><i class="icon-download-alt"> </i> Download </a>

                    <!---button class="btn btn-primary btn-xs" data-download="{{ URL::to('/') }}/uploads/audio/{{ $callrecording->audio }}"><i class="fa fa-fw fa-download"></i> Download</button---->

                </td>

                <td>{{ $callrecording->created_at }}</td>
            </tr> 
            @endforeach
        </tbody>
    </table>

это условие работает, но если я делаю состояние таблицы 0 или не добавляю значение в таблицу, оно выдает это сообщение об ошибке. Попытка получить свойство expiry_date необъекта в.

Я прикрепил свой дд ($ callrecordings);

enter image description here

Скажите, пожалуйста, как мне преодолеть эту проблему

заранее спасибо.

1 Ответ

0 голосов
/ 04 марта 2020

вы что-то упустили в своем коде, который проверяет 0 элемент на наличие данных, если данных не существует, поэтому нам нужно проверить наличие для записи

if(isset($callrecordings[0]->expiry_date) && $callrecordings[0]->expiry_date <= Carbon::now()->toDateTimeString()){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...