2 回答

TA貢獻(xiàn)1827條經(jīng)驗 獲得超9個贊
要顯示關(guān)聯(lián)的表數(shù)據(jù),您需要做三件事:
表中的關(guān)聯(lián)
$this->belongsTo('Types', [
'foreignKey' => 'type_id',
'joinType' => 'INNER'
]);
在控制器(JobsController)中,使用“ contain”指定關(guān)聯(lián)表,
public function index() {
$jobs = $this->Jobs->find('all')->contain(['Types']);
//set jobs variable to make it available in .ctp file
}
在Jobs / index.ctp文件中
<?php echo $job['types']['name'] ;?>

TA貢獻(xiàn)1891條經(jīng)驗 獲得超3個贊
首先,您的foreach
循環(huán)應(yīng)為foreach ($jobs as $job)
。請注意$job
跟蹤每個特定作業(yè)的變量的單數(shù)形式。
緊接著,由于“作業(yè)belongTo
類型”,每個作業(yè)只有一個類型,而不是多個。結(jié)果,您正在尋找的值是 $job['type']['name']
($job->type->name
可能也可以使用)。所有這些都假定您在加載記錄時已正確使用了遏制;因此,為什么我也要求顯示該代碼。
如果喬布斯有許多類型,那么您將擁有$job['types']
(或$job->types
),它是可以迭代的Type實體的數(shù)組。
- 2 回答
- 0 關(guān)注
- 157 瀏覽
添加回答
舉報