我是cakephp的新手......我有一个大问题! 我有两张桌子
Users
- id
- name
Photos
- id
- title
- id_user
现在在UsersController中我已经
了 public function index() {
$this->set('user', $this->User->find('all'));
}
并在视图中
<?php foreach($user as $post): ?>
<h1><?php echo $this->Html->link($post['User']['name'],""); ?><h1>
<p><?php echo $post['User']['id']; ?><p>
<hr />
<?php endforeach; ?>
现在我想查看他名字附近的用户图片......例如
<?php foreach($user as $post): ?>
<h1><?php echo $this->Html->link($post['User']['name'],""); ?><h1>
<p><?php echo $post['User']['id']; ?><p>
<p>PHOTO <?php echo $photo; ?><p>
<hr />
<?php endforeach; ?>
我该怎么做?
非常感谢 的Alessandro
答案 0 :(得分:1)
将id_user
更改为照片表格中的user_id
。
在您的用户模型中添加以下关系:
public $hasOne = array(
'Photo' => array(
'className' => 'Photo',
'dependent' => true
)
);
在UsersController中更改函数索引如下:
public function index() {
$this->set('user', $this->User->find('all', array(
'contain' => array('Photo'))));
}
最后改变你的观点如下:
<?php foreach($user as $post): ?>
<h1><?php echo $this->Html->link($post['User']['name'],""); ?><h1>
<p><?php echo $post['User']['id']; ?><p>
<p>PHOTO <?php echo $this->Html->image($post['Photo']['title']); ?><p>
<hr />
<?php endforeach; ?>
注意:我假设您在照片表的标题栏中有图像路径。
答案 1 :(得分:0)
如果您要将图像名称存储在数据库中,您可以执行以下操作:
<p><img src="<?php echo '/app/media/'.$post['User']['photo']; ?>" /></p>
如果您想要将图像存储为用户ID,请执行以下操作:
<p><img src="<?php echo '/app/media/'.$post['User']['id']; ?>.jpg" /></p>