Как избежать избыточных данных в экземпляре модели EloquentPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как избежать избыточных данных в экземпляре модели Eloquent

Сообщение Anonymous »

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

Теперь в модели Eloquent, представляющей запись об арендованном объекте недвижимости, я добавил атрибут который отображает контактную информацию для обеих сторон.
В настоящее время, хотя модель ведет себя так, как ожидалось приложением, при проверке арендованного экземпляра атрибут datosContacto отображается следующим образом:
Изображение

На английском языке это будет нравится:

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

contactData: App\Models\ContactData {#6726
#id: 42,
#user_type: "contractor",
#email: "juanperez@gmail.com",
#support_hours: "24x7",
#phone: "11-3352-6425",
#alt_phone: "4235-5532",
#mobile: "11-3352-6425",
#whatsapp: "(54) 11-3352-6425",
#rental_id: 31,

+contractor: App\Models\ContactData {#7043
id: 42,
user_type: "contractor",
email: "juanperez@gmail.com",
support_hours: "24x7",
phone: "11-3352-6425",
alt_phone: "4235-5532",
mobile: "11-3352-6425",
whatsapp: "(54) 11-3352-6425",
rental_id: 31,
},

+publisher: App\Models\ContactData {#6875
id: 43,
user_type: "publisher",
email: "leandrocaplan@gmail.com",
support_hours: "24x7",
phone: "11-3546-5888",
alt_phone: "4701-1108",
mobile: "11-3546-5888",
whatsapp: "(54) 11-3546-5888",
rental_id: 31,
},
},
Хоть это и работает, но включает нежелательную избыточную информацию, и, возможно, код модели не самый оптимальный.
В идеале мне бы хотелось, чтобы это выглядело так:
Изображение
(отредактированный скриншот)
Вот код моей модели DatosContacto.php:

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


Подробнее здесь: [url]https://stackoverflow.com/questions/79830359/avoiding-redundant-data-in-an-eloquent-model-instance[/url]
Ответить

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

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

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

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

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