У меня на сайте есть раздел, где разбираются используемые элементы из Steam API. Каждый элемент имеет атрибут market_hash_name
, classid
, и у меня есть виртуальные элементы на сайте, которые имеют постоянные значения market_hash_name
и classid
, и эти значения не меняются.
Элементы, которые находятся в сервисе Steam, хранятся в базе данных, виртуальные элементы на сайте не сохраняются в базе данных, а генерируются с помощью json на лету.
Сайт имеет функцию передачи предметов из сервиса Steam и виртуальных предметов друг другу. Элементы, которые есть в Steam (и они зарегистрированы в базе данных), передаются без проблем, но виртуальные элементы не передаются (потому что их нет в базе данных), и выдают ошибку: Fatal error: Call to a member function update() on null line: 851
Мой код:
foreach ($itemsInfo as $item) {
if (isset($item['classid'])) {
$itemDB = Item::find($item['id']);
$itemDB->update([
'steamid' => $user->steamid64,
'status' => 0
]);
}
}
На 851 строке у меня есть $itemDB->update
.
Проблема возникает из-за того, что я пытаюсь перенести виртуальные элементы, их нет в базе данных, и поэтому я получаю эту ошибку потому что в таблице items
нет моего значения classid
для виртуальных предметов. Как правильно установить условие, например if item has classid == test, than use another code;
?