Trong các phiên bản trước của CakePHP, bạn có thể tạm thời thay đổi liên kết với Table::bindModel('SomeModel');
nhưng tôi không thể tìm ra cách thực hiện trong v3.Cách xóa liên kết khi đang di chuyển trong CakePHP v3
Tôi muốn tạm thời vô hiệu hóa liên kết hasMany được xác định trong lớp Bảng vì nó gây ra lỗi khi tôi chạy các lần di chuyển cũ hơn được viết trước khi bảng đó tồn tại. Tôi không hoàn toàn hiểu được vấn đề di chuyển nhưng nó ngay lập tức biến mất khi tôi nhận xét sự liên kết trong lớp Bảng.
class AgenciesTable extends Table
{
public function initialize(array $config)
{
parent::initialize($config);
$this->table('agencies');
$this->displayField('full_name');
$this->primaryKey('id');
$this->addBehavior('Timestamp');
$this->hasMany('Routes');
Nó chỉ là một đoán nhưng tôi nghĩ rằng nó không được thực hiện trong cake3. Lý do có thể là bánh không thực sự gọi mối quan hệ cho đến khi bạn 'chứa' bảng trong một cuộc gọi find(). Vì vậy, nếu không có lệnh find() có chứa route ake thì sẽ không kiểm tra sự tồn tại của bảng đó. – arilia