我在表中添加了一個自定義主鍵,現在 Laravel 甚至根本找不到結果。給出無法找到頁面的錯誤。
NotFoundHttp例外
沒有模型 [App\usersinformation] 的查詢結果。
控制器 - - - - - - - - - -
public function show(usersinformation $usersinformation)
{
//
// $users = $user = usersinformation::where('user-id','=',$usersinformation) -> first();
return view('usersinformation.show');
}
模型 - - - - - - - - - -
class usersinformation extends Model
{
//
public $table = "usersinformation";
public $incrementing = false;
protected $fillable = [
'fname','lname', 'user-picture', 'phone-number', 'user-id', 'place-id'
];
protected $primaryKey = 'user-info-id';
public function users(){
$this -> belongsTo('App\users');
}
路由----web.php
Route::post('/show','App\Http\Controllers\usersinformationController@show');
仍然面臨同樣的問題,如果我注釋主鍵,當我在模型中添加自定義主鍵時,它會給出在表中找不到 id 欄位的錯誤,它會給出錯誤頁面未找到。
uj5u.com熱心網友回復:
你打字提示usersinformation $usersinformation,所以它試圖找到你傳入的 ID 的記錄。在下一行,你試圖將 id 傳遞給用戶 ID,所以我猜你實際上是在傳遞在路由的用戶 ID 中,而不是用戶資訊行的 ID。如果是這種情況,那么您需要更改型別提示,這樣它就不會在進入函式之前嘗試查找記錄。
public function show($user_id)
{
$user_information = usersinformation::where('user-id','=',$user_id) -> first();
return view('usersinformation.show', ['userinformation' => $user_information]);
}
您的 primaryKey 行很好,應該可以作業,但要知道強烈建議不要在表名和列名中使用破折號,因為它會導致各種混淆。下劃線要好得多。有關更多資訊,請參閱此鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/377132.html
