我想在我的标题中回显我的MySQL数据库的全名。在列表中单击该名称时,它会过滤所有记录并仅显示与该名称相关的所有记录。我设法使过滤器工作,但无法在标题中显示名称。
<? $this->read('$jobs as $row'); ?>
<h1><?=$row['Employee']['first_name']?> <?=$row['Employee']['last_name']?>'s Jobs</h1>
<? $this->end(); ?>
答案 0 :(得分:0)
如果我没错,你正试图检索这个数组,我在假设 $ jobs 包含单行。
试试这个
<?php
if (isset($jobs)) {
foreach($jobs as $row){
if (isset($row['Employee']['last_name']))
$last = $row['Employee']['last_name'];
$first = 'N/A';
if (isset($row['Employee']['first_name']))
$first = $row['Employee']['first_name'];
?>
<h1><?php echo $first.' '. $last?>'s Jobs</h1>
<?php } }?>
OR
<h1><?php isset($jobs[0]['Employee']['first_name']) ? $jobs[0]['Employee']['first_name'] : 'N/A' .' '. isset($jobs[0]['Employee']['last_name']) ? $jobs[0]['Employee']['last_name'] : 'N/A'?>'s Jobs</h1>
答案 1 :(得分:0)
通过使用虚拟字段可以更轻松地实现这一点。 Cake书中的示例几乎与您的需求相同。
只需将其添加到您的员工模型中:
public $virtualFields = array(
'full_name' => 'CONCAT(Employee.first_name, " ", Employee.last_name)'
);
现在可以使用[Employee] ['full_name']而无需使用任何逻辑。
以下是有关虚拟字段的Cake书页的链接:http://book.cakephp.org/2.0/en/models/virtual-fields.html