我有一个控制器应该更新amount
属性并将其保存到数据库。我可以通过getAmount
验证模型的数量是否正确,但是它没有保存到数据库中,也没有返回错误。知道我做错了吗?
这是我的控制人员:
$response = Input::json()->all();
$ticket = Ticket::find($id);
$ticket->setAmount($response['amount']);
$ticket->getAmount(); //for debugging
$ticket->save();
return $ticket;
我的票证模型:
class Ticket extends \Eloquent { protected $fillable = [];
protected $amount = 0;
function setAmount($amount){
$this->amount = $amount*100000000;
}
function getAmount(){
return $this->amount/100000000;
}
}
答案 0 :(得分:1)
从$amount
课程中删除Ticket
媒体资源,该资源即可使用。
class Ticket extends \Eloquent {
protected $fillable = [];
public function setAmountAttribute($amount)
{
$this->attributes['amount'] = $amount * 100000000;
}
}
然后像控制任何其他财产一样在控制器中设置它:
$ticket = Ticket::find($id);
$ticket->amount = $response['amount'];
$ticket->save();
和Eloquent将自动为您调用您的setter函数。