您好,我正在研究一种用于更新配置文件的更新方法,现在我正在通过将模型作为参数传递来更新配置文件,但我想输入配置文件的ID,因此路由为{{1} }我对laravel还是很陌生,所以我想知道当在laravel中获取对象时,如何修改控制器和phpunit测试以更新这种方式?
控制器中的更新功能:
patch('/profiles/podcast/{id}''
这是更新方法的当前路径
public function update(PodcastProfile $podcastProfile)
{
$this->user = Auth::user();
$this->podcastProfile = $podcastProfile;
if (!$this->hasPodcastProfile()) {
abort(400, "You don't have a podcast profile configured");
}
$this->validation();
$this->transaction();
return $this->podcastProfile->toJson();
}
这是该功能的phpunit测试用例
Route::patch('/profiles/podcast/{podcastProfile}', 'PodcastProfileController@update');
答案 0 :(得分:0)
嘿,
如果我正确理解了您的问题,您只需传递该个人资料的ID,就像您说的那样:
Route::patch('/profiles/podcast/{podcastProfileId}','PodcastProfileController@update');
,然后通过给定的ID提取配置文件。
类似:
$this->podcastProfile = App\PodcastProfile::find($podcastProfileId)
我也觉得选择@Remul描述的路由模型绑定方法会是更好的方法。