【问题标题】:Passing a model instance to another model's function将模型实例传递给另一个模型的函数
【发布时间】:2019-01-29 13:29:46
【问题描述】:

所以这是我现在拥有的一段代码,它在我的一个控制器中运行:

auth()->user()->confirmReservation(
  new Reservation(request(['room_id', 'data_ini', 'data_fin']))
);

这是我的用户模型中的方法:

public function confirmReservation(Reservation $reservation) {
  $this->reservations()->save($reservation);
}

我想为该对象添加一个变量作为另一个参数,但我在网上找不到答案。我是 Laravel 的新手,我知道这一定很基础。有谁能够帮助我?一些指导,以便我可以作为程序员改进,也将不胜感激。谢谢!

【问题讨论】:

  • 你想在哪里添加参数?我没有得到你
  • 在新的 Reservation(...) 行

标签: php laravel eloquent model parameter-passing


【解决方案1】:

首先以数组的形式从请求中获取参数,然后添加额外的参数。

$params = request(['room_id', 'data_ini', 'data_fin']);
$params['foo'] = 'bar'; // <-- Add another parameter

auth()->user()->confirmReservation(
  new Reservation($params)
);

【讨论】:

    【解决方案2】:

    你可以试试这样的

    auth()->user()->confirmReservation(
        new Reservation($request->only('room_id', 'data_ini', 'data_fin')+['another_parameter'=>$anotherParameter])
    );
    

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 2021-10-26
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      相关资源
      最近更新 更多