php - Eloquent 关系 - 查询行到列

标签 php mysql laravel relational-database eloquent

我有三个表:

  • 用户{id、名字、姓氏}
  • 申请人{id、first_name、 姓氏......}
  • 标记 {idapplicant_iduser_id、mark}

marks包含两个外键(applicant_id 和 user_id)。所以,逻辑是这样的:申请者多,用户少。用户需要对每一个申请者进行审核,并为他设置一些分数。

期望的输出是显示表“applicants”中的(几乎)所有列(属性),并为表“users”中的每一行附加另一个,其中包含users.last_name 在“标题”中,并在“正文”中为该申请人添加所需的标记。

我在此应用程序中使用 Laravel 和 Eloquent,但不知道如何实现这一目标。

最佳答案

定义这种关系:

class Applicant extends Eloquent {
    public function users(){
        return $this->belongsToMany('User', 'marks')->withPivot('mark');
    }
}

用法:

$applicants = Applicant::with('users')->get();
foreach($applicants as $applicant){
    echo $applicant->first_name; // etc...
    foreach($applicant->users as $user){
        echo $user->last_name;
        echo $user->pivot->mark;
    }
}

关于php - Eloquent 关系 - 查询行到列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28183245/

相关文章:

laravel - 如何避免vue中的 react 性

mysql - SQL Union 与不同类型的表

php - 本地环境中的 Xdebug 错误 [加载失败/usr/local/lib/php/pecl/20190902/xdebug.so :]

php - 私聊系统MYSQL查询显示发送/接收者最后一条消息

PHP更新大型数据库

mysql - 我无法在 ubuntu 上使用 ndb 集群引擎创建表

mysql - 如何在vertica数据库中存储整数数组?

php - Laravel 组管理路由

javascript - JSON 嵌套元素未定义

php - cakePHP 查找 ("list") 返回空数组