定义没有第二个模型的模型关联

时间:2012-03-08 01:14:42

标签: cakephp

CakePHP 1.3中是否有一种方法可以定义模型关联而无需关联表的模型?例如:

<?php

    class SomeModel extends AppModel 
    {
        var $useTable = 'some_table';

        var $belongsTo = array(
            'AnotherModel' => array(
                // association data here
            )
        );
    }
?>

AnotherModel实际上没有模型文件。我只想定义模型将使用的表和关联细节。这可能吗?

1 个答案:

答案 0 :(得分:0)

快速回答是:应该没问题。你试过吗?更糟糕的情况是没有文件它将无法工作,所以只需添加模型文件。这需要两秒钟的时间:

<?php
class AnotherModel extends AppModel {
    var $name = 'AnotherModel';
}
?>

完成!

<强>更新

如果您对表的命名遵循蛋糕约定,则应该能够使用相应的名称引用该表而不使用模型文件。例如:

  • my_models = MyModel
  • your_models = YourModel
  • model_tables = TableModel

但是,如果您的表不符合约定,则必须创建一个定义$useTable的模型文件,以指示它与哪个表相关:

  • some_table =模型文件:SomeTable其中$useTable = 'some_table';
  • another_model =模型文件:CustomModel其中$userTable = 'anotherModel';

除此之外别无他法。 CakePHP并不神奇。它需要知道正在引用哪个表。除非你正在加入。然后在连接中,您可以引用该表。