我是移动应用程序(Android / iOS)开发人员,在没有我们的php开发人员的情况下,我想在我们的数据库和POST中添加另一个表并获取一些数据并存储在新表中。
Laravel 4安装在我们的服务器中,并且通过一些基本的cPanel,phpMyAdmin和php信息,我试图在现有数据库中创建一个新表。
首先我累了并使用phpMyAdmin创建了一个表,然后我添加了像这样的模型文件
<?php
class Record extends Eloquent {
protected $table = 'requestRecords';
protected $guarded = array();
public $timestamps = true;
}
但是,当我尝试使用此语法在我的route.php文件(我使用phpMyAdmin手动创建)中向requestRecords
添加数据时,没有任何反应:
Route::post('api/v1/FLRequest', function()
{
//check right inputs sent to us.
if( !Request::has('userId') or
!Request::has('userName') or
!Request::has('timeStamp') or
!Request::has('requestFor') or
!Request::has('nKey'))
return Response::json(array(
'status' => "error",
'message' => "Missing Parameter"),
500
);
$inputs = Request::all();
if($inputs['nKey']!= "nKey_Goes_Here")
return Response::json(array(
'status' => "error",
'message' => "Wrong Request"),
500
);
$addRecord = Record::create(array(
'userName' => $inputs['userName']));
if($addRecord!==FALSE)
{
return Response::json(array(
'status' => "success",
'message' => "Record Updated"),
200
);
}
else
{
return Response::json(array(
'status' => "error",
'message' => "Failed Updating Record"),
401
);
}
实际上我既没有得到200也没有得到401,但我得到了HTTP 500 Internal Server Error
。
然后我尝试使用schema添加表,所以我在database / migrations文件夹中创建了一个php文件,名为:2015_01_02_104814_create_requestRecords_table.php
并在那里添加这些代码:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateRequestRecordsTable extends Migration {
public function up()
{
Schema::create('requestRecords', function($table) {
$table->increments('id');
$table->string('userId',255);
$table->string('userName', 255);
$table->string('timeStamp', 255);
$table->string('payLoad',255);
$table->string('requestFor',255);
$table->string('bToken',255);
$table->string('bSituation',255);
});
}
public function down()
{
Schema::drop('requestRecords');
}
}
再次尝试添加数据后,我既没有得到200也没有得到401,但我得到了HTTP 500 Internal Server Error
。
有关详细信息,请参阅我的控制器和型号:
文件/app/controllers/RequestRecordsController.php
中的控制器:
<?php
class RequestRecordsController extends BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()
{
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)
{
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @return Response
*/
public function update($id)
{
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/
public function destroy($id)
{
}
}
?>
和/app/models/Record.php
中的模型:
<?php
class Record extends Eloquent {
protected $table = 'requestRecords';
protected $guarded = array();
public $timestamps = true;
}
我做错了什么?
谢谢:)
答案 0 :(得分:0)
您正在添加大量验证,并且总是在应用程序上自行抛出500错误。
最佳做法是让你删除所有这些,尝试让事情先行,然后再做。当您看到代码有效时,则添加验证以确保所需的每个字段都在表单上。