Yii2.0框架模型多表關(guān)聯(lián)查詢示例
本文實(shí)例講述了Yii2.0框架模型多表關(guān)聯(lián)查詢。分享給大家供大家參考,具體如下:
聯(lián)表查詢--hasMany:
use app\models\User; $right = Right::findOne(2); //$user = User::find()->where(['right_id' => $right->attributes['id']])->all(); $user = $right->hasMany(User::className(),['right_id' => 'id'])->all(); //right_id為User::className()表中字段,id為Right::findOne(2)表字段
多表關(guān)聯(lián)一對(duì)多查詢優(yōu)化
如果多次用到同表相同查詢:
\models\Rught.php
namespace app\models;
use \yii\db\ActiveRecord;
class Right extends ActiveRecord
{
public function getUsers()
{
$users = $this->hasMany(User::className(),['right_id' => 'id'])->asArray()p->all();
return $users;
}
}
\controller\home\actionAbout
public function actionAbout()
{
$right = Right::findOne(2);
// $users = $right->getRights();
$users = $right->rights;
dd($users);
return $this->render('about');
}
多表關(guān)聯(lián)一對(duì)一查詢
\models\User.php
namespace app\models;
use \yii\db\ActiveRecord;
class User extends ActiveRecord
{
public function getRight()
{
$right = $this->hasOne(Right::className,['id' => 'right_id'])->asArray();
return $right;
}
}
\controller\home\actionAbout
$user = User::findOne(1);
$right = $user->user;
dd($right);
return $this->render('about');
join
//查詢關(guān)聯(lián)表的所有數(shù)據(jù)
$user = User->find()->with('right')->asArray()->all();
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- YII2框架中自定義用戶認(rèn)證模型,完成登陸和注冊(cè)操作示例
- Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作示例
- Yii中Model(模型)的創(chuàng)建及使用方法
- yii框架表單模型使用及以數(shù)組形式提交表單數(shù)據(jù)示例
- PHP YII框架開發(fā)小技巧之模型(models)中rules自定義驗(yàn)證規(guī)則
- PHP的Yii框架中Model模型的學(xué)習(xí)教程
- Yii框架數(shù)據(jù)模型的驗(yàn)證規(guī)則rules()被執(zhí)行的方法
- YII動(dòng)態(tài)模型(動(dòng)態(tài)表名)支持分析
- Yii框架表單模型和驗(yàn)證用法
- Yii模型操作之criteria查找數(shù)據(jù)庫(kù)的方法
- Yii數(shù)據(jù)模型中rules類驗(yàn)證器用法分析
- yii2.0框架多模型操作示例【添加/修改/刪除】
相關(guān)文章
Thinkphp使用mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)多條件查詢方法
這篇文章主要介紹了Thinkphp使用mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)多條件查詢方法,修改了mongodb驅(qū)動(dòng)文件來(lái)實(shí)現(xiàn)復(fù)合查詢、多條件查詢,需要的朋友可以參考下2014-06-06
基于PHP的登錄和注冊(cè)的功能的實(shí)現(xiàn)
yii框架redis結(jié)合php實(shí)現(xiàn)秒殺效果(實(shí)例代碼)
php下拉選項(xiàng)的批量操作的實(shí)現(xiàn)代碼
Laravel如何同時(shí)連接多個(gè)數(shù)據(jù)庫(kù)詳解
phpfans留言版用到的數(shù)據(jù)操作類和分頁(yè)類

