我有一些表,其中一个是用户表,我希望通过搜索用户名从该表中获取id,第二个是prize_info表,我想通过搜索奖品从这里获取user_id,毕竟我想要获取prize_info.user_id和user.id.what是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();
请帮助我!最好的考虑
答案 0 :(得分:0)
我建议你用Laravel的Eloquent ORM Relationships来做这件事。您可以使用可用的关系轻松获取相关记录;
答案 1 :(得分:0)
您可以使用:
$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();