php - SQL Laravel GroupBy 并显示所有记录

标签 php mysql sql laravel

我的数据库表具有以下结构:

员工编号 column_id 数据

我正在尝试找到一种方法,以便我可以查看给定 staff_id 的所有 column_id 和数据字段

例如,可能有 6 条记录的 staff_id 为 2 和 33 条记录的 staff_id 为 1。

现在我需要得到这个,这样我就有了一个数组,我可以循环遍历它,它将为我提供所有数据。

所以在 PHP 中是这样的:

foreach($staffs as $staff) {
    foreach($staff->datas as $data) {
        echo $data->column_id . " - " . $data->data . "<br />";
    }
    echo "<hr />";
}

我看过 GroupBy,但分组时似乎只返回一个结果。

我正在使用 Laravel。

最佳答案

员工模型

  public function datas(){
      return $this->hasMany(DataTable::class,'staff_id');
   }

现在你可以使用:

$staffs=Staff::with('datas')->get(); // get data with relltionships

foreach($staffs as $staff) {
    foreach($staff->datas as $data) {
        echo $data->column_id . " - " . $data->data . "<br />";
    }
    echo "<hr />";
}

关于php - SQL Laravel GroupBy 并显示所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43997772/

相关文章:

php - GD 库扩展在此 PHP 安装中不可用 linux mint

mysql - "Load data infile"插入数据库

SQL 汇总还是联合?

php - 如何使用 Zend Compressor Filter 压缩多个文件?

php - PHP内部服务器错误,带有$ statement-> execute

mysql - Rails 生成模型失败

sql - 仅显示一次列值

php - 在允许图像进入 json 字符串之前检查图像是否存在?

php - 为什么 PHP 有两个密码哈希函数?

Mysql搜索以单词开头的列