我在Laravel真的很新。
上下文:
但我对路线和观点有点困惑。
这是我的原型:
// Posts
Route::get('add', 'PostsController@add');
Route::post('add', 'PostsController@store');
Route::resource('posts', 'PostsController', array(
'except' => array('create', 'store')
));
// Users
Route::get('login', 'UsersController@login');
Route::get('logout', 'UsersController@logout');
Route::get('profile', array(
'before' => 'auth',
'uses' => 'UserController@profile'
));
Route::get('register', UsersController@register');
Route::post('register', 'UsersController@store');
Route::resource('users', 'UsersController', array(
'except' => array('create', 'store')
));
你会为这个简单的例子做些什么?
我真的不知道如何以适当的方式实现slug路由。
你有适当的路由和seo的好例子吗? (Github / BitBucket)
谢谢!
答案 0 :(得分:0)
这是post slug的示例路线:
Route::get('posts/{slug}', array('as' => 'posts.show', 'uses' => 'PostsController@show'));
控制器显示方法:
class PostsController extends BaseController {
public function show($slug, $language = null)
{
if ($post = Post::findBySlug($slug))
{
return View::make('posts.article')->with('post', $post);
}
return Redirect::route('posts.index');
}
}
在您的模型中,您可以通过slug方法添加find:
public static function findBySlug($slug)
{
return Post::where('slug', $slug)->first();
}
并保存你的slu ,,类似于:
$post->title = Input::get('title');
$post->post = Input::get('text');
$post->slug = Str::slug(Input::get('title'));
$post->save();