Я использую Laravel версии 5.7 и хочу получить данные из базы данных. Я попытался использовать $genre->name
, но это не сработало, а также я попытался $genre->toArray()
, но получил еще одну ошибку.
Контроллер
<?php
namespace App\Http\Controllers;
use App\genre;
class Mins extends Controller
{
public function genget($data)
{
foreach ($data as $key => $value) {
$genre = genre::where('name', $value)->first();
echo $genre->name;
}
}
}
Вот данные в $data
, когда я var_dump
.
array(4) { [0]=> string(6) "Comedy" [1]=> string(3)
"Action" [2]=> string(8) "Bad" [3]=> string(7) "Good" }
Я получаю следующую ошибку (эхо в контроллере):
«Попытка получить свойство name для необъекта»
Однако, когда я пытаюсь сделать dd($genre->name)
в контроллере, я получил данные.
Модель
namespace App;
use Illuminate\Database\Eloquent\Model;
class genre extends Model
{
protected $fillable = ['name', 'slug'];
}
Я тоже пытаюсь:
$genre = genre::where('name', $value)->first()->toArray();
dd($genre);
Ответ:
array:6 [▼
"id" => 1
"name" => "Comedy"
"slug" => "comedy"
"created_at" => "2019-01-11 15:02:31"
"updated_at" => "2019-01-11 15:02:31"
"deleted_at" => null
]
Но когда я вызываю указанное значение типа echo $g['name'];
, я получаю ошибку:
«Вызов функции-члена toArray () при нулевом значении»
Я пытаюсь изменить $value
, используя строку вроде:
$genre = genre::where('name', 'Comedy')->first();
Это отлично работает, кто-нибудь знает в чем проблема?