我需要你的建议我如何才能更好地处理“优惠”功能。目前,我有这些终点:
Route::post('/api/favorite/food/{food}', 'FavoriteController@store');
Route::delete('/api/favorite/food/{food}', 'FavoriteController@destroy');
Route::post('/api/favorite/profiletweet/{profiletweet}', 'FavoriteController@store');
Route::delete('/api/favorite/profiletweet/{profiletweet}', 'FavoriteController@destroy');
@store用于收藏模型,@ destroy用于收藏。
public function store($model)
{
$model->favorite();
}
public function destroy($model)
{
$model->unfavorite();
}
所以这很有效,但现在我有两个新问题要处理:
你是如何处理的?
答案 0 :(得分:0)
最简单的方法是使用包 - Laravel Likeable Plugin
或者,如果您想从头开始构建此功能:Tutorial
您还应该查看Polymorphism
还有一个名为Laracasts的资源。它有很多免费内容,但有些需要会员资格。
答案 1 :(得分:0)
所以我得到了自己的anwser:
我使用了Laravel Route Explicit Binding。
在RouteServiceProvider中:
array([[[ 7., 10.],
[19., 22.]],
[[15., 22.],
[43., 50.]]], dtype=float32)
在Web.php中它只是:
Route::bind('favorite', function($value){
if (request()->route()->hasParameter('type')){
$class = 'App\\'.request()->type;
$model = new $class();
return $model->findOrFail($value);
}
abort(404);
});