gpt4 book ai didi

Yii2.0框架模型多表关联查询示例

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Yii2.0框架模型多表关联查询示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Yii2.0框架模型多表关联查询。分享给大家供大家参考,具体如下:

联表查询--hasMany:

?
1
2
3
4
5
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)表字段

多表关联一对多查询优化 。

如果多次用到同表相同查询:

\models\Rught.php 。

?
1
2
3
4
5
6
7
8
9
10
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 。

?
1
2
3
4
5
6
7
8
public function actionAbout()
{
   $right = Right::findOne(2);
//  $users = $right->getRights();
   $users = $right ->rights;
   dd( $users );
   return $this ->render( 'about' );
}

多表关联一对一查询 。

\models\User.php 。

?
1
2
3
4
5
6
7
8
9
10
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 。

?
1
2
3
4
$user = User::findOne(1);
$right = $user ->user;
dd( $right );
return $this ->render( 'about' );

join 。

?
1
2
//查询关联表的所有数据
$user = User->find()->with( 'right' )->asArray()->all();

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助.

原文链接:https://blog.csdn.net/qq_42176520/article/details/91391201 。

最后此篇关于Yii2.0框架模型多表关联查询示例的文章就讲到这里了,如果你想了解更多关于Yii2.0框架模型多表关联查询示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com