Как завести связи между объектами? Здравствуйте. Где почитать или объясните кто знает о таком случае.
Имеем class Operation
{
public $id;
public $date;
public $user_id;

// Далее сеттеры, геттеры
}
Теперь нужно вывести все операции совместно с информацией некоего пользователяclass Operation {
// ...
public $user
// Добавить User $user = new User::find($this->$user_id)
public setUser(User $user) {
$this->user = $user;
}
}
По сути вопрос можно перефразировать "Как работать с вложенными сущностями?" Стоит ли при создании класса внедрять инъекцию или есть лучший вариант? В основе работа по принципу Data MapperUPD: Поправил пост

21 Авг 2019 в 07:02
199 +1
0
Ответы
1

Для установления связи между объектами вам необходимо использовать концепцию dependency injection (внедрение зависимости). В вашем случае, для установления связи между объектами операции и пользователем, вы можете использовать метод setUser в классе Operation, который будет принимать объект пользователя в качестве параметра.

Примерно так:

class Operation {
public $user;
public setUser(User $user) {
$this->user = $user;
}
}

Затем, при создании объекта операции, вы можете установить связь с объектом пользователя, передавая его в метод setUser:

$operation = new Operation();
$user = new User::find($operation->user_id);
$operation->setUser($user);

Это позволит вам работать с вложенными сущностями и получать доступ к информации о пользователе внутри объекта операции.

Также, вы можете рассмотреть другие способы работы с вложенными сущностями, например, использование ORM (Object-Relational Mapping) библиотек, таких как Doctrine ORM, которые могут автоматически устанавливать связи между объектами на основе вашей базы данных.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 441 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир