为了账号安全,请及时绑定邮箱和手机立即绑定

外观\点火\异常\视图异常 尝试获取 index.blade 中非对象的属性“名称.php

外观\点火\异常\视图异常 尝试获取 index.blade 中非对象的属性“名称.php

PHP
紫衣仙女 2022-09-17 22:08:37
我有两个桌子部门和员工。我想列出部门或员工。该部门还可以,但是当我想看到员工时,它会给我这个错误。我已经尝试了一些解决方案,但它没有帮助我,它仍然显示这个错误这是员工\索引.php----                <table class="table">                    <tr>                        <td>Name</td>                        <td>Department</td>                    </tr>                    @foreach($employees as $employee)                    <tr>                        <td>{{ $employee->name }}</td>                        <td>{{  $employee->department->name }}</td>                    </tr>                    @endforeach                </table>---这是网络.phpRoute::get('/', function () {    return view('welcome');});Auth::routes();//Route::get('login/github', 'Auth\LoginController@redirectToGithub');//Route::get('login/github/callback', 'Auth\LoginController@handleGithubCallback');Route::resource('departments', 'DepartmentsController');Route::resource('employees', 'EmployeesController');Route::get('/home', 'HomeController@index')->name('home');部门/索引刀片.php...                <table class="table">                    <tr>                        <td>Name</td>                    </tr>                    @foreach($departments as $department)                    <tr>                        <td>{{ $department->name }}</td>                    </tr>                    @endforeach                </table>...员工控制器   public function index()    {        $employees = \App\Employee::orderBy('id', 'desc')->paginate(10);        return view('employees.index')->with('employees', $employees);    }部门控制器    public function index()    {        $departments = \App\Department::all();        $departments = \App\Department::orderBy('id', 'desc')->get();        $departments = \App\Department::orderBy('id', 'desc')->paginate(5);        return view('departments.index')->with('departments', $departments);    }im 得到的错误是外观\点火\异常\视图异常 尝试获取非对象的属性“名称”(视图:C:\xampp\htdocs\Laravel\test2\资源\视图\员工\索引.blade.php)
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

所以我会假设这种关系是一个部门有很多员工。这是设置模型关系的方式。


<?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Employee extends Model

{

    public function department()

    {

        return $this->belongsTo(Department::class);

    }

}

<?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Department extends Model

{

    public function employees()

    {

        return $this->hasMany(Employee::class);

    }

}

这是从数据库部分设置关系的方法(如果您没有正确拥有它)


public function up()

    {

        Schema::create('departments', function (Blueprint $table) {

            $table->bigIncrements('id');

            $table->string('name');

            $table->timestamps();

        });

    }

public function up()

    {

        Schema::create('employees', function (Blueprint $table) {

            $table->bigIncrements('id');

            $table->string('name');

            $table->bigInteger('department_id')->unsigned();

            $table->foreign('department_id')

          ->references('id')->on('departments')

          ->onDelete('cascade');

            $table->timestamps();

        });

    }


查看完整回答
反对 回复 2022-09-17
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信