亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 $Auth 中檢索關聯字段的 CakePHP 語法

從 $Auth 中檢索關聯字段的 CakePHP 語法

PHP
手掌心 2022-06-17 17:12:49
CakePHP 3.7。這是我的“用戶”表:<?phpnamespace App\Model\Table;use Cake\Datasource\EntityInterface;use Cake\ORM\Association\BelongsTo;use Cake\ORM\RulesChecker;use Cake\ORM\Table;use Cake\Validation\Validator;class UsersTable extends Table{    public function initialize(array $config)    {        parent::initialize($config);        $this->setTable('users');        $this->setDisplayField('id');        $this->setPrimaryKey('id');        $this->belongsTo('Customers', [            'foreignKey' => 'customer_id',            'joinType' => 'LEFT'        ]);    }    public function validationDefault(Validator $validator)    {        ...     }    public function buildRules(RulesChecker $rules)    {        $rules->add($rules->isUnique(['email']));        $rules->add($rules->existsIn(['customer_id'], 'Customers'));        return $rules;    }}和“客戶”表:<?phpnamespace App\Model\Table;use App\Model\Entity\Customer;use Cake\Datasource\EntityInterface;use Cake\ORM\Association\HasMany;use Cake\ORM\Table;use Cake\Validation\Validator;class CustomersTable extends Table{    public function initialize(array $config)    {        parent::initialize($config);        $this->setTable('customers');        $this->setDisplayField('company_name');        $this->setPrimaryKey('id');        $this->hasMany('Users', [            'foreignKey' => 'customer_id'        ]);    }    public function validationDefault(Validator $validator)    {        ...    }}好吧,現在我想通過 檢索控制器和模板中的關聯字段customer_id,例如:$this->Auth->user('customer_id')); // <--- WORKS$this->Auth->user('Customers.company_name')); // <--- ???我不明白必須使用什么語法通過外鍵 ( customer_id) “導航”才能讀取Customers表中的其他字段。當然,我可以使用一種解決方法:檢索“customer_id”值(如上)為該 ID 創建一個關于“客戶”過濾的查詢閱讀其他領域但我想這不是最好的方法。
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

您需要自定義 Auth finder 查詢以包含客戶記錄。

但請注意,整個 Auth 組件已被棄用,并將在版本 4 中替換為單獨的身份驗證授權中間件插件。


查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 172 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號