首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义属性: Illuminate\Database\Eloquent\Relations\BelongsTo

未定义属性: Illuminate\Database\Eloquent\Relations\BelongsTo
EN

Stack Overflow用户
提问于 2022-03-27 17:25:34
回答 2查看 790关注 0票数 0

我得到了一个未定义的错误属性:

Illuminate\Database\Eloquent\Relations\BelongsTo::$name

(视图: C:\xampp\htdocs\ESchool\resources\views\front\index.blade.php) )

我不知道是怎么回事

这是我的索引页面中获得错误<的部分。

代码语言:javascript
复制
div class="special_cource_text">
                        <a href="../../../../../../Users/Khaldoun%20Alhalabi/Desktop/etrain/course-details.html"
                            class="btn_4">{{$course->categories()->name}}</a>

在这里我的分类模型

代码语言:javascript
复制
    <?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    use HasFactory;
    protected $table = "categories"  ;
    protected $primaryKey = "id" ;
    public $timestamps = true ;
    protected $fillable =
    [
        'name' ,
    ] ;


    /**
     * Get all of the comments for the Category
     *
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function courses()
    {
        return $this->hasMany(Course::class, 'foreign_key');
    }
}

在这里我的课程模型

代码语言:javascript
复制
    <?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Course extends Model
{
    use HasFactory;
    protected $table = "courses"  ;
    protected $primaryKey = "id" ;
    public $timestamps = true ;
    protected $fillable =
    [
        'name' ,
        'image' ,
        'price' ,
        'small_description' ,
        'description' ,

    ] ;
  public function categories()
    {
        return $this->belongsTo(Category::class);
    }
    public function trainers()
    {
        return $this->belongsTo(Trainer::class);
    }
    public function students()
    {
        return $this->belongsTo( Student::class );
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-28 11:06:30

我解决了,问题是以外键的名义命名为cat_id,但肯定是category_id在laravel https://laravel.com/docs/9.x/eloquent-relationships#one-to-many的文档中找到的。

票数 1
EN

Stack Overflow用户

发布于 2022-03-28 08:12:46

  1. public function categories()改为public function category()

(其他职能相同。BelongsTo返回一个对象,因此函数名应该是单数)

  • --在您的模型中没有看到category_id,但我假设它在那里。

$course->category->name

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71638626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档