php post 返回的是f,php – Laravel POST调用返回index()函数而不是store()

我正在写laravel中的第一个应用程序,这对于新的laravel开发人员来说是非常好的环境.缩短故事:我通过php artisan命令创建了两个雄辩的模型,并以相同的方式创建了相应的控制器.其中一个是“成员”模型,我在控制器的类中创建了公共函数,但是当我尝试POST到应该使用store()函数的路由时,该路由实际上使用了index()函数.

控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use App\Member;

use Response;

class MemberController extends Controller

{

/**

* Display a listing of the resource.

*

* @return Response

*/

public function index()

{

$members = Member::all();

return Response::json([

'data' => $this->transformCollection($members)

], 200);

}

/**

* Show the form for creating a new resource.

*

* @return Response

*/

public function create()

{

//

}

/**

* @param Request $request

* @return mixed

*/

public function store(Request $request)

{

if(! $request->email){

return Response::json([

'error' => [

'message' => 'Please Provide email'

]

], 422);

}

$Member = Member::create($request->all());

return Response::json([

'message' => 'Member Created Succesfully',

'data' => $this->transform($Member)

]);

}

/**

* Display the specified resource.

*

* @param int $id

* @return Response

*/

public function show($id)

{

$Member = Member::find($id);

if(!$Member){

return Response::json([

'error' => [

'message' => 'Member does not exist'

]

], 404);

}

return Response::json([

'data' => $this->transform($Member)

], 200);

}

/**

* 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(Request $request, $id)

{

if(! $request->user_id){

return Response::json([

'error' => [

'message' => 'Please Provide user_id'

]

], 422);

}

$Member = Member::find($id);

if($request->email){

$Member->email = $request->email;

}

if($request->first_name){

$Member->first_name = $request->first_name;

}

if($request->last_name){

$Member->last_name = $request->last_name;

}

if($request->phone){

$Member->phone = $request->phone;

}

if($request->address_one){

$Member->address_one = $request->address_one;

}

if($request->address_two){

$Member->address_two = $request->address_two;

}

if($request->zip_code){

$Member->zip_code = $request->zip_code;

}

if($request->city){

$Member->city = $request->city;

}

if($request->county){

$Member->county = $request->county;

}

if($request->state_region){

$Member->state_region = $request->state_region;

}

if($request->country){

$Member->country = $request->country;

}

if($request->job_title){

$Member->job_title = $request->job_title;

}

if($request->company){

$Member->company = $request->company;

}

if($request->clearance_level){

$Member->clearance_level = $request->clearance_level;

}

$Member->save();

return Response::json([

'message' => 'Member Updated Succesfully',

'data' => $this->transform($Member)

]);

}

/**

* Remove the specified resource from storage.

*

* @param int $id

* @return Response

*/

public function destroy($id)

{

Member::destroy($id);

}

/**

* @Description Data transform

* @param $contacts

* @return array

*/

private function transformCollection($contacts)

{

return array_map([$this, 'transform'], $contacts->toArray());

}

/**

* @Description Data transform

* @param $contact

* @return array

*/

private function transform($contact)

{

return [

'id' => $contact['id'],

'fname' => $contact['first_name'],

'lname' => $contact['last_name'],

'email' => $contact['email'],

'address' => $contact['address_one']

];

}

}

我的模型是:

namespace App;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Http\Request;

class Member extends Model

{

/**

* The database table used by the model.

*

* @var string

*/

protected $table = 'members';

/**

* The attributes that are mass assignable.

*

* @var array

*/

protected $fillable = [

'email',

'first_name',

'last_name',

'phone',

'address_one',

'address_two',

'zip_code',

'city',

'county',

'state_region',

'country',

'job_title',

'company',

'clearance_level',

];

/**

* The attributes excluded from the model's JSON form.

*

* @var array

*/

protected $hidden = [

];

}

我的php工匠路线:列表是:

+--------+-----------+-------------------------------+------------------------+--------------------------------------------------------+------------+

| Domain | Method | URI | Name | Action | Middleware |

+--------+-----------+-------------------------------+------------------------+--------------------------------------------------------+------------+

| | GET|HEAD | / | | Closure | |

| | POST | api/v1/members | api.v1.members.store | App\Http\Controllers\MemberController@store | |

| | GET|HEAD | api/v1/members | api.v1.members.index | App\Http\Controllers\MemberController@index | |

| | GET|HEAD | api/v1/members/create | api.v1.members.create | App\Http\Controllers\MemberController@create | |

| | DELETE | api/v1/members/{members} | api.v1.members.destroy | App\Http\Controllers\MemberController@destroy | |

| | GET|HEAD | api/v1/members/{members} | api.v1.members.show | App\Http\Controllers\MemberController@show | |

| | PUT|PATCH | api/v1/members/{members} | api.v1.members.update | App\Http\Controllers\MemberController@update | |

| | GET|HEAD | api/v1/members/{members}/edit | api.v1.members.edit | App\Http\Controllers\MemberController@edit | |

| | GET|HEAD | auth/login | | App\Http\Controllers\Auth\AuthController@getLogin | web,guest |

| | POST | auth/login | | App\Http\Controllers\Auth\AuthController@postLogin | web,guest |

| | GET|HEAD | auth/logout | | App\Http\Controllers\Auth\AuthController@getLogout | web,guest |

| | POST | auth/register | | App\Http\Controllers\Auth\AuthController@postRegister | web,guest |

| | GET|HEAD | auth/register | | App\Http\Controllers\Auth\AuthController@getRegister | web,guest |

| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@postEmail | web,guest |

| | GET|HEAD | password/email | | App\Http\Controllers\Auth\PasswordController@getEmail | web,guest |

| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@postReset | web,guest |

| | GET|HEAD | password/reset/{token} | | App\Http\Controllers\Auth\PasswordController@getReset | web,guest |

+--------+-----------+-------------------------------+------------------------+--------------------------------------------------------+------------+

路线定义:

Route::group(['prefix' => 'api/v1'], function(){

Route::resource('members', 'MemberController');

});

我试过mysite.us/api/v1/members和mysite.us/api/v1/members/–他们都在POST上返回index().

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值