【发布时间】:2014-03-20 14:43:58
【问题描述】:
我正在使用 php.activerecord,现在我正在尝试加入同一张桌子,但不知何故它不起作用。
我想实现这样的目标:
http://sqllessons.com/categories.html
我有三个主要类别和 n x 个子类别。我想要做的是,加入这个表(如示例链接中)并实现这样的目标:
ID | Category | is a Subcategory of
1 | Main 1 | NULL
2 | Main 2 | NULL
3 | Main 3 | NULL
4 | Sub 1 | Main 1
5 | Sub 2 | Main 2
6 | Sub 3 | Main 1
我已经尝试通过模型在同一张表上进行简单的连接
static $has_many = array(
array('category')
);
和
$data = Category::all(array('joins' => array('category')));
但我只是得到这个错误:
Fatal error: Uncaught exception 'ActiveRecord\DatabaseException' with message 'exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'rezepte_category'' in /home/www/xxxxx/xxxxx/classes/activerecord/lib/Connection.php on line 325
任何人的想法?
更新 1:
显然我必须设置一个别名。我这样做了:
static $has_many = array(
array('subcategory', 'class'=>'category','foreign_key' => 'id')
);
但还是同样的错误。
【问题讨论】:
标签: php mysql activerecord join phpactiverecord