我正在尝试使用laravel将数据存储到服务器。我正在关注一个教程,我觉得它可能会稍微过时,因为我之前使用更新方法得到了500错误。
public function store()
{
$input = Input::json();
return Player::create(array(
'teamName' => $input->teamName, // this is line 35
'teamColor' => $input->teamColor
));
}
上面是教程的语法,我也尝试了下面的内容。
public function store()
{
$input = Input::all();
return Player::create(array(
'teamName' => $input['teamName'], // this is line 35
'teamColor' => $input['teamColor']
));
}
在浏览器中我收到此错误。
{"error":{"type":"ErrorException","message":"Undefined property: Symfony\\Component\\HttpFoundation\\ParameterBag::$teamName","file":"C:\\wamp\\www\\basketball-app-framework\\app\\controllers\\PlayersController.php","line":35}}
所以我觉得这些问题我应该能在几秒钟内弄明白,但我很新,真的不知道在哪里可以找到明确的答案。我试着搜索文档,但我找不到我要找的东西,也许我是在盲目?
答案 0 :(得分:2)
尝试使用:
public function store()
{
return Player::create(array(
'teamName' => Input::get('teamName'),
'teamColor' => Input::get('teamColor')
));
}
获取质量分配错误,意味着您需要编辑模型并向其添加$ fillable变量:
class Player extends Eloquent {
protected $fillable = array('teamName', 'teamColor');
}
Laravel试图保护您免受大规模分配的影响,因此您必须告诉它哪些列可以批量分配。
请求(输入)文档:http://laravel.com/docs/requests。
CheatSheet:http://cheats.jesse-obrien.ca/。