php - Laravel 如何将两个查询结果合并到一个对象中

标签 php laravel object laravel-5 backend

我目前陷入了如何将两个查询结果合并到一个对象中的困境。下面是我的代码。

已编辑

模型方法

public static function getTeamStats($competitionId, $teamId) {
    return TeamCompetitionStatistics::where('competitionId', $competitionId)
        ->where('teamid', $teamId)
        ->where('periodNumber', 0)
        ->get();
}

public static function getTeamPosition($competitionId, $teamId){
    return self::where('latest', 1)
        ->where('competitionId',$competitionId)
        ->where('competitorId', $teamId)
        ->get(['position', 'streak'])
        ->map(function($item, $key){
            $item->position = $item->position . date("S", mktime(0, 0, 0, 0, $item->position, 0));
            if(strpos($item->streak, '-') !== FALSE) {
                $item->streak = str_replace('-', 'L', $item->streak);
            }
            else {
                $item->streak = 'W'.$item->streak;
            }
            return $item;
        });
}

获取 Controller 中的值

$teamStanding = Ladder::getTeamPosition($request->competitionId, $request->id);
$teamStatistics = TeamCompetitionStatistics::getTeamStats($request->competitionId, $request->id);

$result = $teamStatistics->merge($teamStanding);

返回结果:[{'teamstand': 'data'}, {'teamstatictics': 'data'}]

预期输出:[{'teamstand': 'data', 'teamstatictics': 'data'}]

最佳答案

您可以使用 all() 函数。

$teamStanding = Ladder::getTeamPosition($request->competitionId, $request->id)->get();

$teamStatistics = TeamCompetitionStatistics::getTeamStats($request->competitionId, $request->id)->get();

$merged = $teamStatistics->merge($teamStanding);

$result = $merged->all();

// return [{'teamstanding': 'data', 'teamstatictics': 'data'}]

关于php - Laravel 如何将两个查询结果合并到一个对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44535539/

相关文章:

javascript - php .session_start 显示来自submit.php 的contact.php 上的错误

php - Laravel - 让用户在创建后插入类别并创建新类别(如果不存在)

c++ - 未调用析构函数

javascript - 为什么我不能过滤我的 javascript/jquery 对象

java - 我无法在 Java 的 Object 类中找到 clone() 方法的实现。

file - PHP 列出文件的顺序

php - 如果数据库查询 A 没有返回足够的结果,运行查询 B : how to optimize?

php - 强制将数组键更改为连续编号

laravel Eloquent ORM - 如何获取已编译的查询?

php - Api 路由在 laravel 5.4 中不起作用