万维当云伯乐 CDN华纳云
ThinkPHP2025-02-27608 阅读

ThinkPHP5 一对多查询,查询父模型具有指定条件的所有子模型数据。

本文摘要假设你有两个模型 User 和 Post,并且 User 模型和 Post 模型之间存在一对多的关联关系。你可以通过haswhere方法来查询所有性别为女的用户的所有帖子。 User.php namespace app\model; use think\Model; class User extends Model {
丽萨主机
AD:
【广告招商】文章正文文字广告位开放合作
假设你有两个模型 User 和 Post,并且 User 模型和 Post 模型之间存在一对多的关联关系。你可以通过haswhere方法来查询所有性别为女的用户的所有帖子。   User.php
namespace app\model;

use think\Model;

class User extends Model
{
    // 定义一对多关联
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}
Post.php
namespace app\model;

use think\Model;

class Post extends Model
{
    // 反向关联用户
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}
Query
use app\model\User;
use app\model\Post;

// 查询所有性别为女的用户的所有帖子
$posts = Post::hasWhere('user', ['gender' => 'female'])->select();

// 输出查询结果
foreach ($posts as $post) {
    echo $post->title . '<br>';
}
广告招商文章内容详情页下 · 优质席位开放中合作咨询