У меня есть настройки проекта с Zend 1.12 Framework и доктрины.
У меня есть две таблицы в моей базе данных, и я создал их с помощью следующих запросов:
create table `users` (
`id` int unsigned not null auto_increment,
`name` varchar(100) not null,
primary key(`id`)
);
create table `phone_numbers` (
`id` int unsigned not null auto_increment,
`user_id` int unsigned not null,
`phone_number` varchar(25) not null,
index pn_user_index(`user_id`),
foreign key (`user_id`) references users(`id`) on delete cascade,
primary key(`id`)
);
Если вы заметили, что в этом запросе я использовал внешний ключ для идентификатора пользователя.
У меня в контроллере следующий код:
$phoneNumberService = new PhoneNumberService();
$details = $phoneNumberService->findAll();
$this->view->userList = $details;
У меня есть следующий код в моем сервисе
public function findAll() {
return $this->_phoneNumberDao->findAll();
}
У меня есть следующий код в моем DAO:
/**
* Method to find all data
*/
public function findAll() {
return parent::findAll();
}
У меня есть две сущности: PhoneNumberEntity и UsersEntity
в файле просмотра у меня есть следующий код:
<?php foreach ($this->userList as $list): ?>
<tr>
<td><?php echo $list->getId(); ?></td>
<td><?php echo $list->getdealComments(); ?></td>
<td><?php echo $list->getphoneNumber(); ?></td>
</tr>
<?php endforeach; ?>
Запрос - я хочу показать все записи в таблице phone_numbers на странице просмотра.
Ниже приведен код в файле PhoneNumberEntity:
<?php
/**
* Entity for Phone number
*
* @author
*/
/**
* @Entity
* @Table(name="phone_numbers")
* @HasLifecycleCallbacks
*/
class PhoneNumberEntity {
/**
* This is the primary
*
* @Id
* @Column(type="integer", name="id")
* @GeneratedValue(strategy="AUTO") *
* @var integer
*/
private $id;
/**
* @ManyToOne(targetEntity="UsersEntity", fetch="LAZY", inversedBy="PhoneNumber")
* @JoinColumn(name="user_id", referencedColumnName="id")
*
* @var integer
*/
private $userId;
/**
* @Column(type="string", name="phone_number")
*
* @var string
*/
private $phoneNumber;
/**
* Gets Id
*
* @return integer
*/
function getId() {
return $this->id;
}
/**
* Gets userId
*
* @return integer
*/
function getUserId() {
return $this->userId;
}
/**
* Gets phone number
*
* @return string
*/
function getPhoneNumber() {
return $this->phoneNumber;
}
/**
* Sets id
*
* @param integer $id
*/
public function setId($id) {
$this->id = $id;
}
/**
* Sets id
*
* @param integer $userId
*/
public function setUserId($userId) {
$this->userId = $userId;
}
/**
* Sets phone
*
* @param string $phoneNumber
*/
function setPhoneNumber($phoneNumber) {
$this->phoneNumber = $phoneNumber;
}
}
Ниже приведен код в файле сущности пользователя:
<?php
/**
* Entity for User
*
* @author
*/
/**
* @Entity
* @Table(name="users")
* @HasLifecycleCallbacks
*/
class UsersEntity {
/**
* This is the primary
*
* @Id
* @Column(type="integer", name="id")
* @GeneratedValue(strategy="AUTO") *
*
* @var integer
*/
private $id;
/**
* @Column(type="string", name="name")
*
*
*
* @var string
*/
private $name;
/**
* @OneToMany(targetEntity="PhoneNumberEntity", mappedBy="user")
*
* @var PhoneNumberEntity
*/
protected $dealComments;
/**
* Gets Id
*
* @return integer
*/
function getId() {
return $this->id;
}
/**
* Gets name
*
* @return string
*/
function getName() {
return $this->name;
}
/**
* Sets id
*
* @param integer $id
*/
public function setId($id) {
$this->id = $id;
}
/**
* Sets name
*
* @param string $name
*/
function setName($name) {
$this->name = $name;
}
}
Пожалуйста, уточните, как показать эти данные. Любая помощь очень ценится. Заранее спасибо. Любой, пожалуйста, помогите.