Я пытаюсь получить свой маршрут, чтобы вставить новую строку в базу данных, и в случае успешного возвращения записи (с ее новым идентификатором первичного ключа) в некоторый JSON. Я получаю следующее сообщение об ошибке:Преобразование Laravel-4 Яркие результаты запроса в массивы
{
"error":
{
"type":"BadMethodCallException",
"message":"Call to undefined method Illuminate\\Database\\Query\\Builder::to_array()",
"file":"\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line":1418
}
}
Это мой маршрут:
Route::post('/client/create', function()
{
$client = Client::create(Input::all());
if($client)
{
return json_encode(array('Result' => 'OK', 'Record' => $client->to_array()));
}
else
{
return json_encode(array('Result' => 'ERROR', 'Message' => 'Error Inserting Record =('));
}
});
Согласно документации Laravel я прочитал, что вы должны использовать ->to_array()
для преобразования модели в array и ::create
возвращает экземпляр модели, если она успешно вставлена. Я проверил базу данных, и записи вставляются просто отлично.
попробуйте '' 'вернуть $ client-> toArray();' '' и вы также можете использовать '' 'return $ client-> toJson();' '', если это то, что вам нужно. –
@AntonioCarlosRibeiro Спасибо, что работает! Он не проходит в id вставленной строки, но я всегда могу получить это в другом месте. –