Модель laravel не возвращает объект, даже если он загружен из базы данныхPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Модель laravel не возвращает объект, даже если он загружен из базы данных

Сообщение Anonymous »

У меня есть отношение ClientAddress, определенное в laravel, как показано ниже

Код: Выделить всё

class Client extends Model
{
use HasFactory;

protected $keyType = 'string';

public $incrementing = false;
protected $fillable = [
'name',
'location',
'status',
];

public function address()
{
return $this->hasOne(ClientAddress::class);
}
}

Код: Выделить всё

class ClientAddress extends Model
{
use HasFactory;
public $timestamps = false;

protected $keyType = 'string';

public $incrementing = false;

protected $fillable = [
'street',
'zip',
];

public function client()
{
return $this->belongsTo(Client::class);
}
}
Я могу сохранить его в базе данных.
Когда я читаю его, как показано ниже, и распечатываю, я получаю адрес

Код: Выделить всё

public function getAddress(Request $request)
{
$client=Client::with('address')->find($request->id);
Log::info($client);
Log::info($client->address);
return ClientAddressResource::make($client->address);
}
первое значение журнала:

[2024-06-22 10:39:15] local.INFO: {"id":"12cf02ff-fff7-4b8d-8eb5-64d5328afc8b","name":"Клиент с адресом","location":"Дели","status":"OK","address":{"id ":"0b956710-3681-4042-96c2-877345167c46","street":"str1","street2":"str2","city":"какой-то город","штат":"stt","country" :"Индия","zip":"1234","client_id":"12cf02ff-fff7-4b8d-8eb5-64d5328afc8b"},"created_at":"2024-06-20T21:14:50.000000Z","updated_at" :"2024-06-20T21:14:50.000000Z"

второй журнал пуст

[2024-06-22 10:39:15] local.INFO:

последняя строка выдает ошибку

[2024-06-22 10:39:15] local.ERROR: Попытка прочитать свойство "улица" по нулевому значению {"userId":"981cfca3-46ed-47a7-91df -5424b563e723","Exception":"[object] (ErrorException(code: 0): попытка прочитать свойство "улица" по нулевому значению в .....

Я пробовал много ответов в Google, но ни один из них не говорит о чтении объекта и преобразовании в json.

Подробнее здесь: https://stackoverflow.com/questions/786 ... m-database
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»