2017-06-21 33 views
1

我試圖獲得用戶可以創建主題的視圖。我在我的項目中做了很多次,但從來沒有得到這個錯誤,因爲所有其他的工作都很好。Laravel沒有關於型號[App Topic]的查詢結果創建

我得到錯誤No query results for model [App\Topic] create。這是代碼。

這是應該把用戶帶到視圖的鏈接。

 <div class="col s12"> 
      <div class="card"> 
       <div class="card-content clearfix"> 
        <a href="{{ route('createtopic', ['theme_id' => $theme->id]) }}" class="waves-effect waves-light btn blue-grey darken-4">New topic <i class="material-icons right">edit</i></a> 
       </div> 
      </div> 
     </div> 

這些是在這個問題中使用的路線。

Route::get('/theme/{theme_id}/topics/create', '[email protected]')->name('createtopic'); 
Route::post('/theme/{theme_id}/topics/create', '[email protected]')->name('savetopic'); 

Controller方法創建。

dd('Hij is er ' . $id); 

而存儲方法是空的,鏈接不顯示DumpDie方法,而是顯示我的錯誤。所以沒有必要發佈我試圖展示的視圖,因爲這不是問題所在。提前致謝!

+0

檢查您是否在刀片文件中傳遞了正確的ID。在返回此刀片的方法中使用dd。 – Vikash

+0

我沒有返回視圖,因爲那是dd的位置。問題不在於創建方法,而在其他地方。我不知道在哪裏,這是問題 –

+0

這意味着在你的數據庫中沒有這個ID存在行 – Vikash

回答

0

您需要了解路線和控制方法正在

Route::get('/theme/{theme_id}/topics/create', '[email protected]')->name('createtopic'); 

當你打上面的路線,我的意思是在你的瀏覽器的東西,例如yourdomain/theme/1/topics/create,那麼它會採取1代替theme_id和它將轉到您的TopicsControllercreate方法,該方法將接受一個參數。

你創建方法應該是類似的東西

public function create($id) 
{ 
    dd($id); 
} 

在這裏,您將獲得1的結果,因爲你已經在你的網址,而不是theme_id通過了這個說法。

+0

你不會遇到問題。我和你在這裏發佈的完全一樣,但它甚至沒有進入創建方法。它只是顯示我的錯誤代碼。我使用的代碼沒有問題,因爲我在項目中多次使用它,並且它工作正常。該URL工作正常也不是問題。我不知道問題所在 –

+0

您是否使用路由模式綁定? – Vikash

+0

也嘗試通過全部四個artisan命令清除緩存,並通過運行'php artisan clear-compiled'刪除編譯類。 – Vikash