@greschnikoff

LARAVEL Trying to get property of non-object как исправить?

Выдает такую ошибку:
ErrorException in PagesController.php line 477:
Trying to get property of non-object

at HandleExceptions->handleError('8', 'Trying to get property of non-object', 'C:\laragon\www\astrixbets\app\Http\Controllers\PagesController.php', '477', array('history' => object(Collection), 'lives' => object(Collection), 'coming' => object(Collection), 'latest' => null)) in PagesController.php line 477
at PagesController->index()

public function index(){
        $history = History::where('id','>',0)->orderBy('id','desc')->limit(3)->get();
        $lives = Tournaments::where('live',1)->where('status',1)->get();
        $coming = Tournaments::where('live',0)->where('status',0)
            ->where('team1','!=','no team1')
            ->where('team2','!=','no team2')
            ->where('date','>=',Carbon::now()->timestamp)
            ->orderBy('date','ASC')
            ->take(10)
            ->get();
        $latest = Tournaments::where('live',0)->where('status',0)->where('date','>=',Carbon::now()->timestamp)->orderBy('date','ASC')->first();
        $last = Carbon::createFromTimestamp($latest->date)->toDateTimeString();//477 stroka
        if(count($lives) == 0){
            $c = 0;
        }else{
            $c = 1;
        }
        if(count($coming) == 0){
            $pages = 1;
        }else{
            $pages = round(count($coming)/10);
        }
  • Вопрос задан
  • 2220 просмотров
Пригласить эксперта
Ответы на вопрос 2
SerafimArts
@SerafimArts
Senior Notepad Reader
LARAVEL Trying to get property of non-object как исправить?


Если сообщение "нельзя обратиться к полю того, что не является объектом", то исправление простое:
Надо попытаться получить поле у объекта, а не у чего-то другого.

Можно не благодарить. Всегда рад помочь.
Ответ написан
$latest выдает null
и далее идет краш

для laravel 5.6 можно использовать

optional($latest)->date

Так же вместо

$last = Carbon::createFromTimestamp($latest->date)->toDateTimeString();//477 stroka


Можно использовать мутатор

в Tournaments
/**
     * The attributes that should be mutated to dates.
     *
     * @var array
     */
    protected $dates = [
        'created_at',
        'updated_at',
        'date'
    ];
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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