好的,我的问题是,我的ajax调用没有正确更新。它与我拥有的许多功能相同,它只是不更新值。虽然,我可以在mysql中运行它自己的查询,它更新确定。功能如下:
/*
* "elerts/quicksave" > Update elert from all screen
*/
public function quicksave($id)
{
$data = (object)Input::get();
$ev = Events::find($id);
$ev->limit = $data->limit;
$ev->EventEnabled = $data->EventEnabled;
$ev->SundayStart = $data->SundayStart;
$ev->MondayStart = $data->MondayStart;
$ev->TuesdayStart = $data->TuesdayStart;
$ev->WednesdayStart = $data->WednesdayStart;
$ev->ThursdayStart = $data->ThursdayStart;
$ev->FridayStart = $data->FridayStart;
$ev->SaturdayStart = $data->SaturdayStart;
$ev->save();
$queries = DB::getQueryLog();
$last_query = end($queries); dd($last_query);
return "Your eLert has been saved!";
}
以下是传递的示例ID以及传递的$ data对象的示例。
$id = '107';
object(stdClass)#137 (9) { ["limit"]=> string(3) "400" ["EventEnabled"]=> string(1) "1" ["SundayStart"]=> string(1) "0" ["MondayStart"]=> string(1) "0" ["TuesdayStart"]=> string(1) "0" ["WednesdayStart"]=> string(1) "0" ["ThursdayStart"]=> string(1) "1" ["FridayStart"]=> string(1) "1" ["SaturdayStart"]=> string(1) "1"}
我很困惑为什么没有更新。有什么帮助吗?
编辑:下面我已经包含了我的模型的代码,所以人们不必质疑它......
<?php
/**
* @author jmadrigal
* Date: 7/2/14
* Time: 10:23 AM
*/
class Events extends Eloquent {
protected $primaryKey = 'eventid';
public $timestamps = false;
protected $fillable = array(
'eventname', 'eventdescription', 'EventEnabled', 'visitcost', 'groupid', 'flagid', 'SundayStart', 'MondayStart', 'TuesdayStart', 'WednesdayStart', 'ThursdayStart', 'FridayStart',
'SaturdayStart', 'limit', 'Vtmpl', 'delayV', 'Etmpl', 'delayE', 'Ttmpl', 'delayT', 'Mtemp', 'delayM', 'Login', 'freqv', 'freqt', 'freqe', 'maxe', 'maxt', 'maxv',
'amtide', 'amtidt', 'amtidv', 'apptinterval'
);
public function aInterval() {
return $this->hasMany('AppointmentInterval');
}
}
答案 0 :(得分:1)
您很可能没有defined the mass-assignment attributes Events
模型。
所以在你的Events
模型中尝试:
protected $fillable = array('limit', 'EventEnabled', 'SundayStart', 'MondayStart', 'TuesdayStart', 'WednesdayStart', 'ThursdayStart', 'FridayStart', 'SaturdayStart');
这是Laravel的一项安全功能,有助于防止盲目地允许更新任何属性。
答案 1 :(得分:0)
正在发送的类型&#34;字符串&#34;任何复选框都没有进入,因为值必须是(int)值或(bool)值&#39; 1&#39;或&#39; 0&#39;。那就是问题所在。数据库是一年前由其他人建立的,到目前为止我还没有抓住它。虽然它已经解决了。