【问题标题】:Update query not working in heroku更新查询在heroku中不起作用
【发布时间】:2017-01-18 09:58:18
【问题描述】:

我正在使用这个内联编辑器 js 插件

$('.edit').editable('/update', {
 // type     : 'textarea',
 // onblur   : 'submit',
 event: 'click',
 indicator : 'saving ...',
 select : true,
 submitdata : function(value, settings) {
   return {_method: "PUT",_token:token,col:$(this).attr("class").split(' ')[1]};
 },callback : function(value, settings) {
     $(this).addClass('success');
 }
 });

col:$(this).attr("class").split(' ') 是我要传递给的那个

Route::put('/update', function(Request $request){
 DB::update("UPDATE patients SET " . $request['col'] . " = ? WHERE PatientID = ?", [$request->value, $request->id]);

});

我使用$request['col']根据元素的类动态更改要更新的列col:$(this).attr("class").split(' ')

当我在本地开发时一切正常,但是当我尝试在 heroku 中托管它时,我得到一个内部服务器错误

所以我尝试将查询更改为DB::update("UPDATE patients SET patient_fname = ? WHERE PatientID = ?", [$request->value, $request->id]);,因此该列只是静态的,然后它工作得很好,但我想动态更改该列。

【问题讨论】:

  • 这一切都在documentation.
  • 我知道它也不起作用,所以我尝试使用原始查询,这样我就可以看到真正的问题

标签: jquery laravel heroku jeditable


【解决方案1】:

制作一个patient 雄辩的模型。通过这样做,您只需输入

Patient::update($values);

【讨论】:

  • 在哪里可以指定哪一列?
  • 默认情况下会将请求参数映射到模型中的列。假设你发送了 {"name": "my name"},laravel 将采用 "name" 并搜索名为 "name" 的列并更新其值
  • 我试过Patient::update($request['col']);Patient::update($request->value); 都没用
猜你喜欢
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多