Laravel显示来自键列而非id的数据


Laravel show data from key column not from id

我有这个路线:

Route::resource('articles', 'ArticlesController');
Route::get('articles/aukcija/{key}', 'ArticlesController@aukcija');

我在控制器中有这个功能:

public function show($id)
    {
        $article = Auth::user()->articles()->findOrFail($id);
        return view('articles.show', compact('article'));
    }
    public function aukcija($key)
    {
        $article = Article::findOrFail($key);
        return view('articles.show', compact('article'));
    }

我需要他们两个。。。但是我如何可以获得文章与令牌存储在密钥列,而不是ID…

所以当我写localhost:8888/article/1localhost:8888/article/aukcija/f4576ceusyfc674wr873cr48c7sefc以获得相同的文章时,ID为1的文章具有密钥=f4576ceusyfc674wr873cr48c7sefc。。。

你可以试试这个:

public function aukcija($key)
{
    $article = Article::where('key', $key)->firstOrFail();
    // or
    $article = Article::where(compact('key'))->firstOrFail();
    return view('articles.show', compact('article'));
}