Tôi có một kiểu gọi là User
có một số Virtual field được gọi là full_name
. Khi tôi truy cập vào mô hình của tôi User
trong một truy vấn tìm(), tôi có thể thiết lập các điều kiện trên sân ảo của tôi không có vấn đề như thế này:mô hình cakephp virtualFields không hoạt động qua chứa
$user = $this->User->find('first', array(
'recursive' => -1,
'conditions' => array(
'User.full_name' => 'Bruce Thomas'
)
));
Các truy vấn trên thành công sẽ trở lại cho tôi những dữ liệu cho người sử dụng gọi là Bruce Thomas. Nhưng vấn đề nảy sinh khi tôi cố gắng sử dụng mô hình tài khoản của mình thông qua mô hình khác thông qua các hành vi Containable như thế này:
$user = $this->MyOtherModel->find('first', array(
'contain' => array('User'),
'conditions' => array(
'MyOtherModel.id' => $my_other_model_id
'User.full_name' => 'Bruce Thomas'
)
));
(Ví dụ này trên giả định rằng MyOtherModel
có một mối quan hệ belongsTo
với mô hình của tôi MyOtherModel
)
Các truy vấn ở trên cung cấp cho tôi lỗi sau:
Warning (512): SQL Error: 1054: Unknown column 'User.full_name' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 681]
Mọi trợ giúp về cách tôi có thể thực hiện việc này? Cảm ơn bạn
Bạn có thể thêm/bộ 'Configure :: write ('debug', 2); 'trong "app/config/core.php "và thêm' php echo $ this-> element ('sql_dump'); ?> 'trong mã của bạn để kiểm tra truy vấn? –
Bạn có thể sao chép các điều kiện kết quả không? –