如何从列表中获取字符串值?

时间:2018-11-23 16:08:28

标签: laravel

我对Laravel还是很陌生,但是在获取所需信息方面遇到困难。在数据库中,我有一些表:用户,学生和老师。在“用户”表中,它具有称为“状态”的列,用于指定用户是老师还是学生。我似乎无法提取该特定信息来检查它是学生还是老师。

1 个答案:

答案 0 :(得分:1)

好吧。

因此,您有两种用户类型,一个公共用户表,以及每种用户类型的表。

首先,我会说,与其使用布尔值来区分两种用户类型,不如说是使用关系。

在您的User模型中:

class User extends Model
{
    public function teacher()
    {
        return $this->belongsTo('App\Teacher', 'user_id');
    }

    public function student()
    {
        return $this->belongsTo('App\Student', 'user_id');
    }

    ...
}

通过这种方式,您可以通过检查是否存在关系来轻松检查用户是老师还是学生:

$isStudent = is_null($user->student);
$isTeacher = is_null($user->teacher);

如果您要检索所有教师或学生的用户模型,则可以:

$areStudents = \App\User::has('student')->get();
$areTeachers = \App\User::has('teacher')->get();

我希望这会对您有所帮助。

P.S .:我的回答是基于您在问题中提出的详细信息,希望我不会误会它。如果您需要更具体的答案,请尝试也发布您的代码。