php - 如何在 Controller 中合并 Laravel 对象

标签 php laravel

我有一个 Controller ,我想在其中将来自多个具有并行结构的表的数据组合起来。我最终想要得到的是一个我可以从 Controller 返回的对象,这样我就可以在 Backbone 中解析它。

我想做这样的事情:

public function index()
{
    $mc = MainContact::where('verified', '=', '1')->get();
    $sm = SendMessage::where('verified', '=', '1')->get();

    $obj = (object) array_merge((array) $mc, (array) $sm);
    return $obj;
}

another post on StackOverflow 告诉我这适用于 PHP 5.3+。但是,这会在 Laravel 中返​​回以下错误:

UnexpectedValueException: The Response content must be a string or object implementing
 __toString(), "object" given.

我如何在 Laravel 中实现这个方法? $mcsm 都返回 Laravel 中的有效对象。

最佳答案

现在你可以使用

$new_collection = $collection->merge($other_collection)

这适用于 Laravel 4并且似乎可以同时处理数组和集合。

关于php - 如何在 Controller 中合并 Laravel 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14283532/

相关文章:

php - 通过复杂查询提高 MySQL 响应时间

php - CKFinder 启用文件浏览器

mysql - 如果两个字段的差异不为 0,Laravel 在哪里查询获取记录

php - 如何使用 mysql 和 php 内连接具有相同 id 的表?

php - 使用 SQL 和 PHP 编辑实体中的多条记录

php - 如何更新两个表而不收到不明确的错误消息

php - 拉维尔 5 : Restrict access to controllers by User group

php - 如何在 Laravel 5.2 中使用不同的数据库表列名登录?

php - 为什么我的 Laravel 模块出现 "class not found"错误?

node.js - Laravel 5 使用 Node 和 Laravel-Echo-Server 将事件广播到 WildCard channel