繁体   English   中英

从多个表格中获取数据

[英]fetch data from multiple tabels

我有一些表,其中一个是我要通过搜索用户名从此表中获取ID的用户表,第二个是我要通过搜索奖品从此处获取user_id的prize_info表,毕竟我只想获取pril_info.user_id和user.id.laravel4中此搜索部分的最佳方法是什么? 这是我的密码

     $search = '%'.Input::get('keywords').'%';
    $pages      = DB::table('user')
    ->select('user.id','user.username')
    ->where('username', 'LIKE', $search)->get();

    $blogitems  = DB::table('prize_info')
    ->select('prize_info.id', 'prize_info.prize_name', 'prize_info.user_id')
    ->where('prize_name', 'LIKE', $search)->get();

您对上述代码有何想法???? 我通过这一行检查结果,但它不起作用!

$results = $pages->union($blogitems)->take(30)->get();

请帮助我!最好的问候

我建议您使用Laravel的雄辩的ORM关系来做到这一点。 您可以使用可用的关系轻松获取相关记录;

  1. 一对一
  2. 一对多
  3. 属于
  4. 属于许多
  5. 有很多
  6. HasOne
  7. 多态表(使用数据透视表)

您可以使用此:

$search = '%'.Input::get('keywords').'%'
$results = DB::table('user')
                    ->select('user.id','user.username','prize_info.id', 'prize_info.prize_name', 'prize_info.user_id')
                    ->leftJoin('prize_info','user.id','prize_info.user_id')
                    ->take(30)
                    ->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM