当前位置: 首页 > 知识库问答 >
问题:

Laravel一对多关系保存方法空属性

宿衡虑
2023-03-14

我正在尝试使用Laravel保存方法保存关系:

public function storeContact(Request $request)
{
    $user = User::firstOrNew(['email' => $request->input('email')]);
    $user->save();

    $message = new App\Message([
        'message' => $request->input('remarks')
    ]);

    $user->message()->save($message);
}
  • var_转储请求-

我已经在模型上尝试过填充和保护,但没有任何效果。但是,save方法不需要这些,因为它使用了一个完整的雄辩的模型实例。

我在这里错过了什么??

共有1个答案

蔡宏大
2023-03-14

我想我找到了罪犯。

当我在模型上使用_构造时,它会失败。当我用_构造实例化一个模型时,没有变量作为属性传递。即使_构造为空。

用构造法测试

class Message extends Model
    {
        protected $connection = 'system';

        public function __construct()
        {
        }
    // ...
   }

$message = new App\Message(['remarks' => 'Test remarks']);

var_dump(message) // does NOT contain attributes!

没有构造方法的Test2

class Message extends Model
    {
        protected $connection = 'system';
    // ...
   }

$message = new App\Message(['remarks' => 'Test remarks']);

var_dump(message) // does contain attributes!

在我看来,这就像是拉雷维尔的一只虫子。

 类似资料:
  • 问题内容: 我在个人课程和汽车课程之间有一对多的关系。一个人可以拥有许多汽车,反之亦然。我正在使用Restful API发布数据。我的注释和Get服务运行正常,但是我的后服务在每次尝试插入新数据时都抛出“ 。子表插入为” 。 这是我的代码的一部分。 人.java 汽车.java 我的服务等级: 问题答案: 此注释: 有两个后果: 暗示这是关系的拥有方。这意味着,每当要在和之间建立关系时, 都需要通

  • 这是项目迁移 这是时间表 这样用户就可以迁移了 这是我的项目模型 这是我的时间表模型: 这是我的用户模型 现在,我从项目返回我的查询 这是可以的,但user_id用户在timesheets.user_id我不能得到它的时间表,并得到它 此控制器按时间表中的项目id返回项目和时间表,但时间表中的用户id我不知道如何将其输入系统

  • 问题内容: 我有2个班级:驾驶员和汽车。汽车表在单独的过程中更新。我需要的是在Driver中具有属性,该属性使我可以阅读完整的汽车说明,并仅写入指向现有Car的ID。这是示例: 汽车对象只是典型的JPA对象,没有向后引用驱动程序。 因此,我想通过以下方法实现的目标是:1)我可以使用详细的JSON View阅读完整的汽车描述2)或在简短的JsonView 3中仅阅读汽车的ID 3),最重要的是,在创

  • 问题内容: 也许这是一个愚蠢的问题,但这困扰了我。 我有一个从员工到车辆的双向一对多关系。当我第一次将Employee保留在数据库中时(即它没有分配的ID),我也希望保留其关联的Vehicles。 目前,这对我来说很好,除了我保存的Vehicle实体没有自动映射关联的Employee,并且在数据库中Vehicle表中的employee_id外键列为空。 我的问题是,是否可以在雇员本身被保留的同时保

  • Car对象只是典型的JPA对象,没有对驱动程序的反向引用。 所以我试图通过这个来实现的是: 我可以使用详细的JSON视图阅读完整的汽车说明 或者我可以只读取汽车的Id,简写为jsonview 最重要的是,在创建新的驱动程序时,我只想传入汽车的JSON ID。这样,我就不需要在persist期间对Car进行不确定的读取,而只需要更新ID。 谢谢你。 更新:忘记了,我在创建驱动程序时通过的汽车的ID是

  • 我刚刚开始学习LaravelV3,我试图通过创建一个博客来了解eloquent的一对多关系。我的帖子与类别有多对一的关系(每个帖子都链接到一个类别)。 我有以下表格和以下字段: 帖子:id、标题、正文、创建日期、类别id 类别:id、名称 我有以下两种型号: 我想出了如何通过传递类别id来获得所有帖子: 我只是需要帮助,找出如何获得所有的职位,并得到他们的更正类别。因此,在视图中的一天结束时,我可