Php Laravel Mysql连接不工作

Php Laravel Mysql连接不工作,php,mysql,laravel,Php,Mysql,Laravel,我有两张桌子: 如果table2.id=table1.id相等,我需要为每个table1行获取table2行 我需要这样的东西: t1.row1=数组(“t2.row1”、“t2.row2”等) 我用了这个: $first= DB::table('resurse') ->join('alocare', function($join) { $join->on( 'resurse.id', '=','alocare.resursa'); })

我有两张桌子:

如果table2.id=table1.id相等,我需要为每个table1行获取table2行

我需要这样的东西: t1.row1=数组(“t2.row1”、“t2.row2”等)

我用了这个:

$first= DB::table('resurse')
    ->join('alocare', function($join)
    {
        $join->on( 'resurse.id', '=','alocare.resursa');
    })
   ->groupBy('id')->get();
var_dump($first);
答复是:

    array (size=2)
0 => 
object(stdClass)[159]
  public 'id' => int 1
  public 'denumire' => string 'APAD' (length=4)
  public 'id_aloc' => int 1
  public 'resursa' => int 1
  public 'subunitate' => int 1
  public 'status' => string 'btn btn-danger' (length=14)
1 => 
  object(stdClass)[160]
  public 'id' => int 2
  public 'denumire' => string 'AD' (length=2)
  public 'id_aloc' => int 3
  public 'resursa' => int 2
  public 'subunitate' => int 2
  public 'status' => string 'btn btn-danger' (length=14)

根据您的评论,我可以假设您的问题有以下解决方案: 通过加入Laravel从数据库获取数据

DB::table('resurse')
->rightJoin('alocare', 'resurse.id', '=', 'alocare.resursa')
->groupBy('resurse.id')
->get();
如果要从两个表中选择col

DB::table('resurse')
->rightJoin('alocare', 'resurse.id', '=', 'alocare.resursa')
->select('resurse.*','alocare.*')
->groupBy('resurse.id')
->get();
如果你想把结果转换成数组

DB::table('resurse')
->rightJoin('alocare', 'resurse.id', '=', 'alocare.resursa')
->select('resurse.*','alocare.*')
->groupBy('resurse.id')
->get()->toArray();
我使用right join是因为您还需要来自alocare表的数据


如果仍然有一些不符合您的要求,请告诉我。

您能在这里提到什么响应吗?`$queries=\DB::getQueryLog()$最后一次查询=结束($querys);dd($last_query);`检查生成的查询,然后将此查询运行到mysql。通过查看响应,您将获得两条记录。是的,但我需要从resurse table的每一行的alocare tabel中获取更多结果,并且我需要为resurse table的每一行创建一个具有alocare table结果的数组