laravel - TypeError - count(): 参数 #1 ($var) 必须是 Countable|array 类型,给定 null
问题描述
我从 laravel 开始,我正在尝试制作仪表板,但是当我将此代码添加到 dashboard.blade.php 时(我删除了以前的代码,因为它使用了 Jetstream)给出错误的行:
@if (count($events) > 0)
代码主体:
@extends('layouts.main')
@section('title', 'Dashboard')
@section('content')
<div class="col-md-10 offset-md-1 dashboard-title-container">
<h1>My Events</h1>
</div>
<div class="col-md-10 offset-md-1 dashboard-events-container"> /* This is where you will have the list of events*/
@if (count($events) > 0)
@else
<p>You have no events yet, <a href="/events/create">create event</a></p>
@endif
</div>
@endsection
我的 php 是 8.0.7
解决方案
您似乎缺少events
用户模型上的关系。
如果您定义一对多关系,则在访问模型的属性(动态属性)时,您将始终获得一个 Collection。
// User model
public function events()
{
return $this->hasMany(Event::class);
}
有了它,您可以将关系作为属性访问并将 Collection 传递给您的视图:
return view('events.dashboard', ['events' => auth()->user()->events]);
Laravel 8.x 文档 - 雄辩的关系 - 一对多-hasMany
推荐阅读
- c# - 当前上下文中不存在名称“进程”
- javascript - 在不停止应用程序的情况下拦截 400 错误请求
- c++ - 递归导致程序崩溃,但 while 循环中的相同概念并非来自 C++ 析构函数
- javascript - 如何修复“TypeError:无法设置属性‘已批准’为空”?
- c++ - 使用 QTableView 和 QgsCanvas 在应用程序上崩溃
- python - Python中的有效回文解决方案不起作用
- java - 文件信计数器错误
- python - 用多列划分两个数据框(特定于列)
- scala - 在 Ubuntu 上的 Intellij 中运行 Spark 时出现错误
- reactjs - 处理Graphql Mutation update,缓存读写查询,如果查询是动态的?