0

我想在我的标题中回显我的 MySQL 数据库中的全名。在列表中单击该名称时,它会过滤所有记录并仅显示与该名称相关的所有记录。我设法让过滤器工作,但无法在标题中显示名称。

<? $this->read('$jobs as $row'); ?>
 <h1><?=$row['Employee']['first_name']?> <?=$row['Employee']['last_name']?>'s Jobs</h1>
<? $this->end(); ?>
4

2 回答 2

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 } }?>

或者

  <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>
于 2012-06-17T16:00:47.730 回答
0

这可以通过使用虚拟字段更容易地实现。Cake 书中的示例实际上与您的需要相同。

只需将其添加到您的 Employee 模型中:

public $virtualFields = array(
    'full_name' => 'CONCAT(Employee.first_name, " ", Employee.last_name)'
);

现在可以使用 [Employee]['full_name'] 而无需使用任何逻辑。

这是涵盖虚拟字段的 Cake book 页面的链接:http: //book.cakephp.org/2.0/en/models/virtual-fields.html

于 2012-07-09T06:34:52.280 回答