假设你有两个模型 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>';
}