Mysql 从两个表中获取数据并忽略laravel中的重复值
我在拉维尔有两张桌子。表2有一个外键i-e users\u id,因此我想从两个表中提取数据并删除重复的条目。为此,我在控制器中创建了两个查询Mysql 从两个表中获取数据并忽略laravel中的重复值,mysql,laravel,Mysql,Laravel,我在拉维尔有两张桌子。表2有一个外键i-e users\u id,因此我想从两个表中提取数据并删除重复的条目。为此,我在控制器中创建了两个查询 $new=DB::table('tabl-1') ->join('tbl2','tbl1.id','=','tbl2.foreign_key') ->orWhereDate('created_at','<' ,Carbon::today()) ->
$new=DB::table('tabl-1')
->join('tbl2','tbl1.id','=','tbl2.foreign_key')
->orWhereDate('created_at','<' ,Carbon::today())
->orWhereDate('created_at', Carbon::today())
->orWhereNull('created_at')
->select('tbl_1.created_at as date','tbl1.foreign_key as data_id')
->where('user_id',$users_id)
->get()
->toArray();
$old = DB::table('tbl-2')
->join('tbl1','tbl2.foreign_key','=','tbl1.id')
->where('user_id',$users_id)
->whereRaw('id IN (select MAX(id) FROM tbl2 GROUP BY foreign_key)')
->select('tbl_2.created_at as date','tbl2.foreign_key as data_id')
->get()
->toArray();
$data=array_merge($old,$new);
$new=DB::table('tabl-1')
->join('tbl2','tbl1.id','=','tbl2.foreign_key'))
->或者where date('created_at','有一个array_unique()
函数,你试过了吗?也许这可以在数据合并后帮助你