Попытка получить свойство 'times' необъекта - PullRequest
0 голосов
/ 10 января 2020

Это странно (по крайней мере, для меня), я пытаюсь передать объект в функцию, например так:

272.  $runs[$key]['position'] = getTimePosition($run->times,$user['id']);
273.  dd($run->times);

Когда я это делаю, я получаю ошибку

message: "Trying to get property 'times' of non-object", exception: "ErrorException",…}
exception: "ErrorException"
file: "C:\Users\Test\PhpstormProjects\test\app\Helpers\Helper.php"
line: 272
message: "Trying to get property 'times' of non-object"

Однако, если я дам дамп $ run-> times, я получу то, что кажется правильным, объект Eloquent с "временами", как показано ниже ...

Чего мне здесь не хватает? Это давало мне покоя в течение часа

enter image description here

Ответы [ 3 ]

2 голосов
/ 11 января 2020

Как я полагаю, ваш результирующий набор возвращает несколько строк, так что вам нужно перебрать их с помощью l oop, или вы можете получить результат с помощью. $run[0]->time

Если вы хотите получить одну строку из БД, вы должны использовать ее.

    $run = DB::table('tableName')->where('condition')->first();
    $run->time

Это будет работать.

1 голос
/ 10 января 2020

Попробуйте это

if($run) {
    $runs[$key]['position'] = getTimePosition($run->times,$user['id']);
}
1 голос
/ 10 января 2020

Имя вашего атрибута: $ run-> time, а не $ run-> times

$runs[$key]['position'] = getTimePosition($run->time,$user['id']);
...