douzhang7603 2017-06-17 09:26
浏览 53
已采纳

在laravel 5.2中从数据库中获取数据

I am trying to fetch data from database. For that in controller I have created variables for table_name and select_fields as follows -

$tbl_name="user_master";
$select="'user_master.*', 'country.country_name','city.city_name','login_master.email_id','login_master.password'";
$users=$obj->getdata($tbl_name,$select);  

In model I assigned these variables to query as follows -

Model -

public function getdata($tbl_name,$select)
{
    $users = DB::table($tbl_name)
                ->join('country', 'user_master.country_id', '=', 'country.country_id')
                ->join('city', 'user_master.city_id', '=', 'city.city_id')
                ->join('login_master', 'user_master.user_id', '=', 'login_master.user_id')
                ->select($select)
                ->paginate(5);

    return $users;
}

But It is not working. It is showing error- Syntax error or access violation: 1064 You have an error in your SQL syntax;
If I try as -

$users = DB::table('user_master')
                ->join('country', 'user_master.country_id', '=', 'country.country_id')
                ->join('city', 'user_master.city_id', '=', 'city.city_id')
                ->join('login_master', 'user_master.user_id', '=', 'login_master.user_id')
                ->select('user_master.*', 'country.country_name','city.city_name','login_master.email_id','login_master.password')
                ->paginate(5);

return $users;

This above query working fine but when I assign select fields to variable it is not working.
Please help me.
Thanks.

  • 写回答

1条回答 默认 最新

  • dragon2025 2017-06-17 09:39
    关注

    Your problem is the fact that the coma (,) separating your selection of different table in the select() function is being read as a string, hence it breaks the SQL query. Your select is meant to be like this: select('table1.*', 'table2.someColumn'); Notice the coma is not inside the single quote ''

    So try this:

        $select= ['user_master.*', 'country.country_name', 'city.city_name', 'login_master.email_id', 'login_master.password'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?