我剛學CakePHP的,所以原諒我CakePHP的驗證獲取額外的數據
我使用CakePHP 1.2.5驗證組件與UsersController。用戶模型包含兩個表:
class User extends AppModel {
var $name = 'User';
var $belongsTo = 'Company';
}
當用戶登錄()被調用時,我看到在SQL日誌檢索的數據(LEFT JOIN正在執行),因此模型似乎是正確的,但驗證只存儲數據從users
表中刪除一切。我如何在不做額外查詢的情況下檢索公司數據?
如果你寫了'Auth.User.Company'會話密鑰,它可能會更方便。這將允許您使用AuthComponent包裝器方法來訪問會話值:'$ this-> Auth-> user('Company.field');' – deizel 2010-01-26 14:36:06
對於數據庫非常複雜的情況而言,這是一個不錯的方法!例如,如果你有'User HABTM Company(with => CompaniesUser)''。對於OP的情況,在$ this-> Auth-> authenticate('Form'=> array('contains'=> array('Company',...')中有一個簡單的'contains' ..)))'。 [身份驗證文檔](https://book.cakephp.org/2.0/en/core-libraries/components/authentication.html)。 **編輯:**我意識到答案是爲蛋糕1.2。我的建議是爲蛋糕2.x(這就是爲什麼它的評論,而不是答案!) – Fr0zenFyr 2017-05-17 07:00:37