شما برای این کار باید حتما یه ستون slug داشته باشید که unique باشه . همونطوری که id پست رو می گیرید. با slug هم می تونید این کار رو بکنید.
شما میتونید هر دو رو درون route داشته باشید.
route->get('news/{id}','NewsController@showById')->where('id', '[0-9]+');
route->get('news/{slug}','NewsController@showBySlug')->where('slug', '[A-Za-z]+');
یا می تونید هر دو رو با هم داشته باشید .من خودم این رو ترجیح می دم . که slug هم دلخواه باشه.
route->get('news/{id}/{slug?}','NewsController@show');
یا می تونید یه فایل config برای cms خودتون در نظر بگیرید و درون ادمین تنظیماتی رو براش در نظر بگیرید . که این بیشترش برمیگرده به قدرت خلاقیت خودتون.
بیشتر زحمت بر میگرده به جاهایی که می خواید موضوع هارو به خبر اصلی لینک کنید . که باید متدی برای تولید لینک در مدلتون نظر بگیرید و تغییر تنظیمات اونجا هم اثر بزاره.