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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。