具有复合键的表的CakePHP视图
我有一张桌子。它有一个用户和产品的组合。对于每个登录的用户,我希望查看(比如savedItems/view/23)他们购物车中的所有项目具有复合键的表的CakePHP视图,php,cakephp,cakephp-3.0,Php,Cakephp,Cakephp 3.0,我有一张桌子。它有一个用户和产品的组合。对于每个登录的用户,我希望查看(比如savedItems/view/23)他们购物车中的所有项目 public function view($id = null) { $usersavedproduct = $this->saveditems->get($id, [ 'contain' => ['Products', 'Users'] ]); 目前它只是显示为空,因为它只输
public function view($id = null)
{
$usersavedproduct = $this->saveditems->get($id, [
'contain' => ['Products', 'Users']
]);
目前它只是显示为空,因为它只输入用户id。我如何管理它?您可以使用下面的方法:
$articles = TableRegistry::get('Articles');
$article = $articles->get($id);
// Get a single article, and related comments
$article = $articles->get($id, [
'contain' => ['Comments']
]);
使用find方法检索数据,因为它将为您提供所有数据,而get将为您提供单行:
$this->saveditems->find()
->where(['id' => $id])
检查以下文档:
您应该以不同的方式使用联接表。如果保存的\u items表具有以下结构:id、user\u id、product\u id,则可以执行以下操作:
$this->belongsToMany('Products', [
'joinTable' => 'saved_items',
]);
在ProductsTable中:
$this->belongsToMany('Users', [
'joinTable' => 'saved_items',
]);