laravel - 从 Laravel 中的 db 获取一项
问题描述
显示这种“行为”是很奇怪的,因为我以前做过,但这里是:我试图在 Laravel 中显示来自 db 的特定记录。
到目前为止,这是我的代码:
工作模式:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\User;
class Job extends Model
{
protected $fillable = [
"title", "description", "email"
];
public function user(){
return $this->belongsTo("App\User","user_id");
}
}
用户型号:
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use App\Role;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',"role_id"
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function role(){
return $this->belongsTo("App\Role", "role_id");
}
public function job(){
return $this->hasMany("App\Job");
}
并在 JobController 中显示方法:
public function show(Job $job)
{
$jobx = Job::find(4)->get();
dd($jobx);
return view("jobs.show")->with(compact("jobx"));
}
show 方法中的参数是数组,但应该是数字(id)。但我可以在网址中清楚地看到一个数字。它从哪里得到这个数组,为什么?另外如何纠正 show 方法以便它可以获取 id?
还php artisan route:list
显示作业而不是id作为路由中的参数:
-----------------------------+--------------+
| | GET|HEAD | / | | Closure
| web |
| | GET|HEAD | api/user | | Closure
| api,auth:api |
| | GET|HEAD | dashboard | dashboard | App\Http\Controllers\DashboardController@index | web,auth |
| | POST | jobs | jobs.store | App\Http\Controllers\JobController@store
| web,auth |
| | GET|HEAD | jobs | jobs.index | App\Http\Controllers\JobController@index
| web |
| | GET|HEAD | jobs/create | jobs.create | App\Http\Controllers\JobController@create
| web,auth |
| | PUT|PATCH | jobs/{job} | jobs.update | App\Http\Controllers\JobController@update
| web,auth |
| | GET|HEAD | jobs/{job} | jobs.show | App\Http\Controllers\JobController@show
| web |
| | DELETE | jobs/{job} | jobs.destroy | App\Http\Controllers\JobController@destroy | web,auth |
| | GET|HEAD | jobs/{job}/edit | jobs.edit | App\Http\Controllers\JobController@edit
| web,auth |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | GET|HEAD | password/confirm | password.confirm | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm | web,auth |
| | POST | password/confirm | | App\Http\Controllers\Auth\ConfirmPasswordController@confirm | web,auth |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web |
| | POST | password/reset | password.update | App\Http\Controllers\Auth\ResetPasswordController@reset | web |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web,guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web,guest |
+--------+-----------+------------------------+------------------+-------------------------------------------
解决方案
get()
如果您已经使用过,则不需要使用find()
.
$jobx = Job::find(4);
推荐阅读
- html - Angular 8 Route Refresh 在部署服务器上提供 404
- java - 如何在 Eclipse 上更改 SDK 应用引擎
- javascript - SmoothScroll - 滚动的前几秒出现问题
- getstream-io - 哪种类型的提要最适合用户个人资料中的提要,该提要显示他或她已投票的所有帖子?
- python - Selenium python instagram关注按钮
- angularjs - 使用流星角模板在 Meteor 应用程序中获取 [$rootScope:inprog] $digest 已经在进行中 [SANITIZED URL]
- javascript - 在函数中使用时 React 道具未更新
- php - 带上传的动态表单
- docker - 如何配置 traefik 身份验证以在 docker compose 中使用 webdav?
- html - 如何将具有不同名称的复选框组合在一起