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 book の例は、実際にはニーズと同じです。

これを 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 に答える