php - Laravel Eloquent,如何从多对多关系中选择某种类型的用户

标签 php mysql laravel eloquent

我是 Laravel 的一名极端初学者。查看网站上的文档并成功创建了类和用户的多对多关系。

表格结构

用户 类(class) 用户类

用户表

用户 ID users_type '学生','老师'

类(class)表

class_id 类名

Uses_​​Classes 表

用户 ID 类(class)ID

类模型

<?php       
public function getStudents() {
       return $this->belongsToMany('User', 'cla_use_relationship', 'cla_class_id', 'use_users_id');
        }

?>

管理 Controller

 $students = Classroom::find(1)->getStudents;

因此,students 变量中填充了类 id = 1 的用户。但我需要的是所有类型为 Student 的用户。到目前为止,它已经获得了所有用户。我尝试执行 where 函数,但没有返回任何用户。

对于初学者了解 Laravel,特别是它的 Eloquent 方面,有什么好的资源可以帮助他们了解哪些函数与哪些函数配合使用。

最佳答案

belongsTo 之后,您可以链接一个 where 子句将其限制为仅限学生,例如

public function getStudents() {
    return $this->belongsToMany('User', 'cla_use_relationship', 'cla_class_id', 'use_users_id')
        ->where('users_type', 'student');
}

要了解 Laravel 的基础知识,我建议查看主文档页面上的资源:http://laravel.com/docs#additional-resources

Code Bright 可能最适合初学者,然后从那里开始努力。

关于php - Laravel Eloquent,如何从多对多关系中选择某种类型的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749884/

相关文章:

php - PHP、Python 中的 Mysql IN 子句参数化

php - 从数据库检索图像 - 图像未显示

mysql datetime默认当前时间戳

mysql - Ruby on Rails 和一个复制的 MySQL 实例

php - Laravel 验证 after() - 期望参数 1 是有效的回调

php - 使用分页器 (backbone.js) 时无法检测用户是否已登录

php - 在CSS中重叠图像

php - 在 Laravel 5.x 配置文件中访问 PHP super 全局变量的最佳方法

php - 使用正确查询时未显示数据

laravel - 在 Eloquent 模型中,日期字段必须转换为 'date'