Попытка получить свойство stock_name необъектной ошибки при вставке данных - PullRequest
0 голосов
/ 17 января 2020

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

$data['symbol']=$es[1];
 $name=DB::table('companies')
          ->select('stock_name')
          ->where('stock_symbol',$data['symbol']=$es[1])
          ->first();

  if(!empty($name->stock_name)){

     $data['company_name']= $name->stock_name;
  }else{
     \Artisan::call("company:handle");

       $name=DB::table('companies')
                ->select('stock_name')
                ->where('stock_symbol',$data['symbol']=$es[1])
                ->first();    

        $data['company_name']= $name->stock_name;
  }

1 Ответ

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

Вы можете решить это, выполнив

//...
$data['company_name']= $name->stock_name ?? '';
//...

Объединение нулей (??) - это новый оператор, введенный в PHP 7. Этот оператор возвращает свой первый операнд если он установлен, а не NULL. В противном случае он вернет свой второй операнд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...