2017-04-27 84 views
1

我有2個表 用戶和user_stories 用戶的hasMany user_stories選擇hasMany關聯cakephp3不起作用?

用戶結構

id | name

user_stories

id | user_id | story_name

一個牛逼UsersTable $this->hasMany('UserStories')->setForeignKey('user_id ');

UserStories $this->belongsTo('Users')->setForeignKey('user_id');

$query = $this->find(); 
$query->contain([ 
    'UserStories' 
])->select([ 
    'UserStories.name' 
]); 

錯誤未知列UserStories.name

+0

user_stories中沒有'name'字段。如果你想從用戶表中獲得名字,那麼使用'Users.name'。如果你想要story_name,那麼你必須選擇'UserStories.story_name' –

+0

'UserStories.story_name'我的意思是:D所以仍然選擇hasMany協會cake3 –

回答

2

您可以選擇字段包含部分

$query = $this->find(); 
$query->contain([ 
    'UserStories' [ 
     'fields' => [ 
      'UserStories.name' 
     ] 
    ] 
]); 

更多信息檢查Eager Loading Associations Via Contain

+0

如何選擇用戶名稱' –

+0

添加' - > select([ 'Users.name' ])'' – tarikul05