YII2数据表不建model ,就不能使用ActiveRecord吗? [ 2.0 版本 ]
我想实现的是一个model里面可以随意查没有建model的表,比如Yii::$app->db->createCommand() 就可以实现,但是我想用ActiveRecord实现,但是ActiveRecord的文档给的标准是model里面:
/**
* @inheritdoc
*/
public static function tableName()
{
return '{tablename}';
}
/**
* @return \yii\db\Connection the database connection used by this AR class.
*/
public static function getDb()
{
return \Yii::$app->db;
}
这样的话就只能查询一张表了,如果要查询别的还要再建立model,我想问的是有没有不建model的方法?
共 3 个回答
-
$customers = Customer::find() ->select('customer.*') ->leftJoin('order', '`order`.`customer_id` = `customer`.`id`') ->where(['order.status' => Order::STATUS_ACTIVE]) ->with('orders') ->all();
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#relational-data 多看文档
共 3 条回复 -
Model : Any.php
namespace common\models; use Yii; use yii\db\ActiveRecord; class Any extends ActiveRecord { public static $tableName; public static function tableName() { return self::$tableName; } public static function find($tableName=NUll) { self::$tableName = $tableName; return new AnyQuery(get_called_class()); } }
QUERY : AnyQuery.php
namespace common\models; use yii\db\ActiveQuery; class AnyQuery extends ActiveQuery { // ... }
controller
$query = Any::find('globalid')->all(); var_dump($query);
孤寡老人
注册时间:2015-11-09
最后登录:2016-06-03
在线时长:6小时58分
最后登录:2016-06-03
在线时长:6小时58分
- 粉丝2
- 金钱10
- 威望0
- 积分70