Как завести связи между объектами? Здравствуйте. Где почитать или объясните кто знает о таком случае. Имеем 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: Поправил пост
Для установления связи между объектами вам необходимо использовать концепцию 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, которые могут автоматически устанавливать связи между объектами на основе вашей базы данных.
Для установления связи между объектами вам необходимо использовать концепцию 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, которые могут автоматически устанавливать связи между объектами на основе вашей базы данных.