将第二个用户模型数据传递给Laravel中的控制器

时间:2018-08-17 10:44:15

标签: php laravel

因此,我有2个用户模型,一个是公司用户的User,另一个是OrgUser。 我正在尝试将OrgUser传递给OrgUserController并以show方法显示单个公司用户。但是我总是得到一个空的物体。

用户模型

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
use Notifiable;

protected $fillable = [
    'name', 'email', 'password', 'verified', 'verification_token',
];

protected $hidden = [
    'password', 'remember_token', 'verification_token',
];

OrgUser模型

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class OrgUser extends Authenticatable
{
use Notifiable;

protected $fillable = [
    'name', 'email', 'password', 'verified', 'verification_token', 'admin'
];

protected $hidden = [
    'password', 'remember_token', 'verification_token',
];

OrgUserController

<?php

namespace App\Http\Controllers\OrgUser;

use App\Http\Resources\OrgUserResource;
use App\OrgUser;
use Illuminate\Http\Request;
use App\Http\Controllers\ApiController;

class OrgUserController extends ApiController
{
public function show(OrgUser $orgUser)
{
//        OrgUserResource::withoutWrapping();
//
//        return new OrgUserResource($orgUser);

    return $orgUser;
}

路线

Route::resource('orgusers', 'OrgUser\OrgUserController', ['only' => ['index', 'show']]);

是否需要添加一些东西到OrgUser模型中,这样我才能将数据传递给控制器​​?因为如果我通过$ id,它会起作用。

2 个答案:

答案 0 :(得分:1)

所以看来问题出在show方法中。我需要传递$ orguser而不是$ orgUser。因为在我的路线上是/ orgusers / {orguser}。

答案 1 :(得分:-1)

MainView函数应该接受VM而不是模型。如果将代码更改为以下代码,则它应该可以工作:

show