繁体   English   中英

laravel为用户错误设置配置文件页面此集合实例上不存在属性[user]

laravel setting up an profile page for the users error Property [user] does not exist on this collection instance

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我试图建立一个页面,用户可以在其中添加关于他自己的描述,例如,他或她所从事的兴趣是什么,因此我与用户建立了单独的表,因此有一个USER表和PROFILE表,两个表的外观

用户表

 public function up()
 {
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });

资料表

 public function up()
 {
    Schema::create('profiles', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id');
        $table->string('email')->unique();
        $table->string('firstname');
        $table->string('lastname');
        $table->integer('age');
        $table->integer('birthdate');
        $table->text('bio');
        $table->timestamps();
    });
}

因此在矿山模型中,我为配置文件和用户建立了关系,在laravel和hasone()中使用belognsto()函数,该模型的外观

user.php的

public function profile()

{

    return $this->hasOne(Profile::class);

}

profile.php

public function user()

{

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

}

但是当我尝试将其添加到刀片时出现错误

  {{ $profile->user }}

它说无法找到该变量,所以我没有在laravel中设置关系船,因为它给出了错误或者是其他东西

错误是[属性[用户]在此集合实例上不存在。]

ProfileController.php

public function index()

{
    $profile = Profile::all();

    return view ('profile.show',compact('profile'));

}
1 个回复

正如Vahe Shak所述,您的个人资料表需要一个外键来显示user_id与users表中的id相关。 您的个人资料表迁移需要具备以下条件:

$table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

但是,编辑迁移将无法有效地进行更改。 使用新的迁移

php artisan make:migration add_foreign_to_profile

然后,迁移应如下所示:

public function up()
{
    Schema::table('profiles', function(Blueprint $table)
    {
         $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
    });
}

public function down()
{
    Schema::table('profiles', function(Blueprint $table)
    {
        $table->dropForeign('user_id'); 
    });
}

然后,您可以运行php artisan migration

1 Laravel:此集合实例上不存在属性 [user]

在 Laravel 中,我有 Orders 模型,其中每个订单只属于一个用户, 我想在获取订单时只返回用户名和订单 ID,所以在我的 OrdersController 中我有这个功能 在我的 OrderResource 我有 我收到一条错误消息,指出Property [user] does ...

2020-09-14 06:13:15 1 545   laravel
2 Laravel上出现“此集合实例上不存在属性[titulo]”错误

我被这个错误困扰了两天,这就是问题。 我正在尝试显示在线课程的特定章节,这意味着,我有一个视图可以显示章节列表,每当我单击其中一个章节时,它就会带我到我刚刚单击的特定章节,该特定视图的控制器已完成 我已经读过很多博客和有关此错误的问题,并且相信我我已经尽了一切,但是我似乎可以抓住这个错 ...

3 错误:此集合实例上不存在属性[tit]-Laravel

我想在我的类别页面上显示我的记录。 但是我面临一个问题。 对不起,我的英语不好。 错误:此集合实例上不存在属性[电影]。 KategoriController.php(控制器): Film.php(模型): Kategori.php(模型): 你能帮 ...

4 Laravel 错误:此集合实例上不存在属性 [名称]

我正在尝试使用 Laravel 资源集合为每个订单找到一个合作伙伴。 但这会引发错误: 我通过这种方式获得partners 订单_product.php 资源\\Order_product.php 每个订单都有一个合作伙伴名称。 以后我会把它们分组,但现在我只需要输出partner_n ...

5 MeteorJS用户配置文件对象属性不存在

大家好,我正在尝试使默认用户包的用户配置文件具有user.profile.friendList属性,该属性将只是对我存储用户朋友的friendList集合进行引用的无引号外键。 就是说,undefined的属性friendList不存在。 这是我与此有关的服务器端JS: 这是与之 ...

6 在 Angular 中设置“配置文件详细信息”页面时出现 TypeScript“类型上不存在属性”错误

我知道这是一个非常简单的问题,但我还没有找到一种资源解决方案,可以以完全有意义的方式工作或解释。 多年后我试图重新使用 Angular,之前从未使用过 TypeScript。 目前正在为错误而苦苦挣扎,以及 TypeScript 实际上希望我做什么。 我有一个连接到Open Brewery DB的 ...

8 对象不存在错误:用户没有配置文件

我正在尝试创建两个表单来更新用户配置文件,但我不断收到错误消息: 我不知道我要去哪里错了! 我的代码如下: 我的profile.html 我的forms.py 我的models.py 我的signal.py 我的views.py 我收到的错 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM