【问题标题】:Object of class Illuminate\Database\Query\Builder could not be converted to string, unable to get data from two databases in a single queryIlluminate\Database\Query\Builder 类的对象无法转换为字符串,无法在单个查询中从两个数据库中获取数据
【发布时间】:2017-07-02 06:27:15
【问题描述】:
class Report extends Eloquent {

protected $connection1 = 'mysql1';
    protected $table1 = 'table1';

protected $connection2 = 'mysql2';
    protected $table2 = 'table2';

public function getdetails() {

$mysql1_conn = DB::connection('mysql1');

$mysql2_conn = DB::connection('mysql2');

$result = $mysql1_conn->table('table1 as t1')
          ->{$mysql2_conn->table('table2 as t2')}
         ->ON('t1.userid' , '=' , 't2.userid')
         ->select('t1.id','t2.name','t1.number','t2.address')
         ->get();

        return $result;
}
}

我收到错误消息

" Illuminate\Database\Query\Builder 类的对象无法转换为字符串"

【问题讨论】:

    标签: mysql database model-view-controller pdo laravel-4


    【解决方案1】:

    您不能使用两个数据库连接运行单个查询。

    【讨论】:

    • 是我的查询语法有问题还是无法从这种类型的数据对象中获取数据。
    • 将 get() 替换为 toSql() 并查看生成的查询
    • 类 Illuminate\Database\Query\Builder 的对象无法在第 '->{$mysql2_conn->table('table2 as t2')}' 行转换为字符串
    • 此代码无效。你想达到什么目的?您将无法在一个查询中使用 2 个连接。并且 $mysql2_conn->table('table2 as t2') 返回查询生成器,因此出现错误。
    猜你喜欢
    • 2017-03-15
    • 2016-05-13
    • 2022-01-24
    • 2020-12-01
    • 2019-11-29
    • 2020-05-13
    • 2023-04-01
    • 2018-06-16
    • 2016-01-01
    相关资源
    最近更新 更多