我希望,我只有一点问题和一个简单的错误。 我得到了一个cakephp 2应用程序,我目前正在切换到3.1。我对模型的混淆有问题。
这里是表的定义:
namespace ProjectDesigner\Model\Table;
use Cake\ORM\Table;
class ZToolProjectsStepsTable extends Table {
#public $useTable ="z_tool_project_steps";
public $primaryKey = "id";
public $actsAs = array( 'Containable' );
public $name= "";
public $descr = "";
public $closing_desc = "";
public $activ_step = true;
public $custom_step = false;
public $open_step = true;
public $internal_custom_name = "";
public $step_order = 0;
public $project_id;
public function initialize(array $config){
$this->table('z_tool_project_steps');
$this->hasMany('dataSources',[
'className' => 'ProjectDesigner.ZToolPStepsDataSources',
'foreignKey' => 'step_id'
]);
...
现在我想加载模型及其协议" dataSources"
$ZToolProjectStep = TableRegistry::get('ProjectDesigner.ZToolProjectSteps');
$steps = $ZToolProjectStep->find('all', array(
'conditions' => array('project_id' => $project_id)
,'contain' => ['dataSources', 'exTemplates']
,'order' => 'ZToolProjectSteps.step_order'));
首先我尝试了没有匹配方法,但在这两种情况下都会出现同样的错误:
ZToolProjectSteps与dataSources无关
在我的理解中,我应该正确地定义了assoziation,当我调用finder时,即使没有加工,我也应该正确地调用这个方法。
我谷歌周围,但没有很多例子或类似的问题。所以我希望你能帮助我并向我展示我的小错误:)
非常感谢。
V