Cakephp3表与之无关

时间:2016-01-07 06:29:19

标签: model-associations cakephp-3.x

我希望,我只有一点问题和一个简单的错误。 我得到了一个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

0 个答案:

没有答案