雄辩的关系返回错误尝试在 Laravel 5.4 中获取非对象的属性

男人

我经历过类似的问题,但无法看出我做错了什么或做错了什么。

所以我在员工和任务之间建立了这样的关系

任务模型

class Task extends Model
{
    public function employee()
    {
        return $this->belongsTo(Employee::class, 'employee_id');
    }
}

员工模式

public function tasks()
{
    return $this->hasMany(Task::class);
}

我的tasks表结构使用employee_id作为外键

public function up()
{
    Schema::create('tasks', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('employee_id')->unsigned();
$table->foreign('employee_id')->references('id')->on('employees')->onDelete('cascade');
        $table->string('title');
        $table->string('description');
        $table->string('priority');
        $table->date('begin');
        $table->date('end');
        $table->timestamps();
    });
}

在我看来,我正在尝试将任务列表与员工的第一个列表一起返回,但出现错误“试图获取非对象的属性”

@foreach ($allTask as $task)
    <tr>
        <td>{{ $task->priority }}</td>
        <td>{{ $task->title }}</td>
        <td>{{ ucfirst($task->employee->firstname) }} {{" "}} {{ ucfirst($task->employee->lastname) }}</td>
        <td>{{ $task->end }}</td>
    </tr>
@endforeach

当我用这个转储和死掉我的控制器的数据时,

public function index()
{
    $allTask = Task::with('employee')->limit(5)->get();

    /*return view('home', compact('allTask'));*/

    dd($allTask);
}

我能看到这个

`#original: array:9 [▼
    "id" => 1
    "employee_id" => 2
    "title" => "Roaster"
    "description" => "Submission of work roaster has commenced and you are expected to submit before the due date"
    "priority" => "high"
    "begin" => "2017-06-26"
    "end" => "2017-06-30"
    "created_at" => "2017-06-26 22:32:39"
    "updated_at" => "2017-06-26 22:32:39"
  ]`

我哪里弄错了?

艾哈迈德·莫巴拉基

您返回的其中一个可能tasks没有您尝试显示的所有字段,请按如下方式更改您的模板:

@foreach ($allTask as $task)
    <tr>
        <td>{{ isset($task->priority) ? $task->priority : 'no priority !'  }}</td>
        <td>{{  isset($task->title) ? $task->title : 'no title!'  }}</td>
        <td>{{  isset($task->employee->firstname) ?  ucfirst($task->employee->firstname) : 'no first name!' }} {{" "}} {{ 
 isset($task->employee->lastname) ? ucfirst($task->employee->lastname) : 'no last name!' }}</td>
        <td>{{  isset($task->end) ? $task->end : 'no end!'  }}</td>
    </tr>
@endforeach

更新:

您正在employee以错误的方式打印

我们可以有两种方法来实现这一点:

1-

$allTask = Task::with('employee')->limit(5)->get();

isset($task->employee[0]) ?  ucfirst($task->employee[0]->firstname) : 'empty'

2-

$allTask = Task::with(['employee' => function($q){
   $q->first();
}])->limit(5)->get();

isset($task->employee) ?  ucfirst($task->employee->firstname) : 'empty'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 5:尝试获取具有关系的非对象错误的属性

来自分类Dev

Laravel 4 foreach错误-尝试获取非对象的属性

来自分类Dev

错误试图在Laravel 5中获取具有关系和范围的非对象的属性

来自分类Dev

Laravel 4雄辩地试图获取非对象的属性

来自分类Dev

Laravel PHP 4:尝试删除“空”照片会生成“试图获取非对象的属性”错误

来自分类Dev

laravel错误-尝试获取非对象的属性

来自分类Dev

试图获取非对象的属性。Laravel中的错误

来自分类Dev

试图获取非对象的属性。Laravel中的错误

来自分类Dev

Laravel 5.1中的“试图获取非对象的属性”错误

来自分类Dev

绕过 Laravel 中的“试图获取非对象的属性”错误

来自分类Dev

Laravel 7-属于关系-尝试获取非对象的属性

来自分类Dev

Laravel:尝试获取非对象的属性

来自分类Dev

Laravel 5.4 尝试获取非对象的属性

来自分类Dev

尝试获取非对象的属性 - 使用 laravel

来自分类Dev

Laravel 4雄辩的关系

来自分类Dev

Laravel关系错误-试图获取非对象的属性

来自分类Dev

Laravel关系错误-试图获取非对象的属性

来自分类Dev

修复尝试获取非对象Laravel属性的错误

来自分类Dev

如何解决laravel数据表中的“尝试获取非对象的属性'名称'”错误?

来自分类Dev

尝试在 Laravel 中获取 ID 时尝试获取非对象的属性

来自分类Dev

Laravel 5-试图获取非对象的属性

来自分类Dev

尝试使用雄辩的关系时尝试获取非对象错误的属性

来自分类Dev

Laravel试图获取非对象的属性(从雄辩的模型)

来自分类Dev

尝试获取非对象的属性-在Laravel 5.0中检索数据集

来自分类Dev

PlaceController.php第101行中的ErrorException:尝试获取非对象的属性-Laravel 5.1 *

来自分类Dev

Laravel 5.2属于关系试图获取非对象的属性

来自分类Dev

Laravel关系:试图获取非对象的属性“名称”

来自分类Dev

Laravel 5.5 关系 - ErrorException 试图获取非对象的属性

来自分类Dev

更新错误-试图获取Laravel 5.8中非对象的属性'id'

Related 相关文章

  1. 1

    Laravel 5:尝试获取具有关系的非对象错误的属性

  2. 2

    Laravel 4 foreach错误-尝试获取非对象的属性

  3. 3

    错误试图在Laravel 5中获取具有关系和范围的非对象的属性

  4. 4

    Laravel 4雄辩地试图获取非对象的属性

  5. 5

    Laravel PHP 4:尝试删除“空”照片会生成“试图获取非对象的属性”错误

  6. 6

    laravel错误-尝试获取非对象的属性

  7. 7

    试图获取非对象的属性。Laravel中的错误

  8. 8

    试图获取非对象的属性。Laravel中的错误

  9. 9

    Laravel 5.1中的“试图获取非对象的属性”错误

  10. 10

    绕过 Laravel 中的“试图获取非对象的属性”错误

  11. 11

    Laravel 7-属于关系-尝试获取非对象的属性

  12. 12

    Laravel:尝试获取非对象的属性

  13. 13

    Laravel 5.4 尝试获取非对象的属性

  14. 14

    尝试获取非对象的属性 - 使用 laravel

  15. 15

    Laravel 4雄辩的关系

  16. 16

    Laravel关系错误-试图获取非对象的属性

  17. 17

    Laravel关系错误-试图获取非对象的属性

  18. 18

    修复尝试获取非对象Laravel属性的错误

  19. 19

    如何解决laravel数据表中的“尝试获取非对象的属性'名称'”错误?

  20. 20

    尝试在 Laravel 中获取 ID 时尝试获取非对象的属性

  21. 21

    Laravel 5-试图获取非对象的属性

  22. 22

    尝试使用雄辩的关系时尝试获取非对象错误的属性

  23. 23

    Laravel试图获取非对象的属性(从雄辩的模型)

  24. 24

    尝试获取非对象的属性-在Laravel 5.0中检索数据集

  25. 25

    PlaceController.php第101行中的ErrorException:尝试获取非对象的属性-Laravel 5.1 *

  26. 26

    Laravel 5.2属于关系试图获取非对象的属性

  27. 27

    Laravel关系:试图获取非对象的属性“名称”

  28. 28

    Laravel 5.5 关系 - ErrorException 试图获取非对象的属性

  29. 29

    更新错误-试图获取Laravel 5.8中非对象的属性'id'

热门标签

归档