Laravel5.5jQueryAjax方法
大家好 我遇到了一个特殊的问题。以下代码是我的控制器功能Laravel5.5jQueryAjax方法,jquery,laravel,laravel-5.5,Jquery,Laravel,Laravel 5.5,大家好 我遇到了一个特殊的问题。以下代码是我的控制器功能 public function populateIndustry(Request $request) { if($request->isMethod('post')) { $var = "Post Method"; } else { $in_id = $request->industry_id; //$var = $request->industry_id
public function populateIndustry(Request $request) {
if($request->isMethod('post')) {
$var = "Post Method";
} else {
$in_id = $request->industry_id;
//$var = $request->industry_id;
$var = IndustryAction::where('industry_id',$request->industry_id)->toSql();
}
return response()->json($var);
}
以下是我的jQuery代码:
$(".edit_industry").click(function(e){
$.ajax({
url: "populateIndustry",
type: "get",
data: {
'_token':$('input[name=_token]').val(),
'industry_id':$(this).data('id'),
},
success: function(data) {
console.log(data);
},
error: function(data) {
console.log(data);
}
});
});
如您所见,我正在尝试检查查询,发现此查询中未填充行业id
字段:
select * from `industries` where `industry_id` = ?
而对于这行代码,我发现返回了正确的id
//$var = $request->industry_id;
有人能指出我的错误吗?你试过这个吗
$var = IndustryAction::where('industry_id',$request->industry_id)->get();
你有什么错误吗?你检查过输入错误吗?如果你知道查询格式,也许你可以这样做:
$query = IndustryAction::where('industry_id',$request->industry_id);
$stub_sql = $query->toSql();
$values = $query->getBindings();
$var = str_replace( '?', $values[0], $stub_sql );
你可以这样做 启用查询日志,然后
//enable the log first
\Illuminate\Support\Facades\DB::enableQueryLog();
$var = IndustryAction::where('industry_id',$request->industry_id)->get();
return \Illuminate\Support\Facades\DB::getQueryLog();
您将使用如下绑定返回json
query: "select * from `industry_action` where `id` = ?"
bindings:
0: 12
time: 0.62
其中“12”是您的id请参见我已编辑了问题并向您展示了控制台中显示的查询SQL()非常适合快速查看SQL。但是它不包括查询绑定,只有一个?要插入的位置。好的。非常感谢你消除了我的疑虑。你不明白应该归还什么<代码>从行业id=?正确的行业中选择*。应该是
?
,因为可以理解id是一个变量。在这种情况下应该怎么做?请导游。因为我希望有一个像{select*from industries_id=1}这样的查询,我会把它放在一个answerSure中。非常感谢,非常感谢。被困了一整天谢谢。急需帮助