表单模型绑定 laravel 5.1 多个模型

2024-01-16

我想要 Laracollective 的 Form 包中的多个对象的 Form 模型绑定? 如下所示?

Form::model([$user,$vendors], array('route' => array('user.update', $user->id)))

我可以在哪里请求此功能?


我假设你正在使用Laravel-集体 https://laravelcollective.com/docs/5.1/html,不幸的是你不能做这样的事情。相反,你可以尝试这样的事情:

UPDATE

您可以查询控制器中的所有模型并将它们组合起来,如下所示:

      $user = User::where('id',$user_id)->get();
      $vendor = Vendor::where('user_id',$user_id)->get();

      //merge two model
      $user = $user->merge($vendor);

      // return $user;
      return view('admin.users.edit', compact('user'))
          ->withTitle('Edit user');

并在您的表格中这样称呼它们:

{!! Form::model($user[1], ['route' => ['admin.users.update', $user],'method'=>'PUT']) !!}

    @include('admin.users._formEdit')

    <div>
      {!! Form::submit('Save user', ['class' => 'btn btn-primary']) !!}
    </div>
{!! Form::close() !!}

_formEdit.blade.php

<div class="form-group">
  {!! Form::label('first_name', 'First Name : ') !!}
  {!! Form::text('user[first_name]', null, ['class' => 'form-control']) !!}
</div>

<div class="form-group">
  {!! Form::label('last_name', 'Last Name : ') !!}
  {!! Form::text('user[last_name]', null, ['class' => 'form-control']) !!}
</div>

<div class="form-group ">
  {!! Form::label('email', 'Email : ') !!}
  {!! Form::email('user[email]', null, ['class' => 'form-control']) !!}
</div>

<div class="form-group ">
  {!! Form::label('password', 'Password') !!}
  {!! Form::password('password', ['class' => 'form-control']) !!}
</div>

<div class="form-group ">
  {!! Form::label('vendor_name', 'vendor_name') !!}
  {!! Form::text('vendor_name', null,['class' => 'form-control']) !!}
</div>

或其他解决方案

  1. 创建用户模型和供应商模型之间的关系(一对一或一对多)示例

User :

public function vendor(){
   return $this->hasOne('App\Vendor','user_id');
}

Vendor:

public function user(){
  return $this->belongsTo('App\User','user_id);
}
  1. 像这样构建您的响应查询:$user = Vendor::with('user')->find($user_id);
  2. 然后在您的视图模板中:

{!! Form::model($user, ...) !!} Vendor: {!! Form::text('vendor_name') !!} User: {{ Form::text('user[username]') }} {!! Form::close() !!}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表单模型绑定 laravel 5.1 多个模型 的相关文章

  • 创建日期 - Laravel 中的 Carbon

    我开始阅读有关Carbon并且似乎不知道如何创建一个carbon date 在文档中说你可以 Carbon createFromDate year month day tz Carbon createFromTime hour minute
  • Laravel Vue SPA 与 MPA/SSR

    许多 laravel vue 教程使用 ajax 调用来获取数据 看来 SPA 与 Laravel 是完全隔离的 IE Laravel 只是一个数据 API vue 应用程序也可以简单地托管在第三方外部服务器 例如 AWS S3 上 这是推
  • Laravel 5.1 - 获取当前路线

    我正在开发一个为每个视图自动获取资源 css js 的函数 所以它工作得很好 让我们说 http mywebsite com displayitems http mywebsite com displayitems home about 等
  • 为什么我在 Laravel 中的路线返回 404 错误?

    所以在我的routes php 文件中我有这个 Route get contact function return view contact 当我访问domain com contact 时 出现返回错误 但是当我输入 Route get
  • laravel 5.3 中如何在没有 auth:api 中间件的情况下对用户进行身份验证?

    我有一条任何用户都可以访问的公共路线 timeline 在此操作中 如果用户通过身份验证 我必须向他显示他是否喜欢该帖子 如果路线有auth api我可以使用中间件获得经过身份验证的用户 request gt user 但如果我不使用aut
  • Laravel 克隆查询字符串

    是否可以克隆一个查询字符串 以便我可以编写一次并在不影响其他结果的情况下进行长时间的更改 query DB table users gt where id 123 queryGet query queryPaginate query que
  • Laravel 规则和正则表达式 (OR) 运算符的问题

    我的 Laravel 规则和正则表达式操作有一个小问题 基本上 规则是一个数组 如下所示 room gt required alpha num min 2 max 10 我遇到的问题是使用正则表达式和 时 或 运算符 例如 cid gt r
  • 使用 AJAX 时 Laravel 会话 cookie 未加密

    我即将为我的应用程序创建一个单点登录界面 另一个应用程序发送 AJAX POST 请求 我对用户进行身份验证并返回响应 正在设置会话 cookie 但未加密 相关守则 user User where email email gt first
  • Laravel 8 图像不显示

    我在用Laravel 8 试图显示来自storage app subject image 路径 但不显示 下面是我的代码blade img src asset subject image data gt subject image alt
  • 如何在 Laravel 中使用 Storage::facade 检查目录是否存在?

    对应的是什么 if File exists path using Storage 在 Laravel 5 1 中 Anyone 尝试这个 To check if File exists in Laravel 5 1 exists Stora
  • Laravel 5.2 中使用多个 MySQL 数据库连接查询关系存在

    我正在处理以下情况 我有两个模型 一个Employee with id and name字段和一个Telephone with id employee id and flag字段 还有一个一对多关系在这两种模型之间 即一个员工可能拥有多部电
  • 如何访问模型 hasMany Relation 与 where 条件?

    我使用关系的条件 约束创建了一个模型游戏 如下所示 class Game extends Eloquent many more stuff here relation without any constraints works fine p
  • 在代理后面安装 Laravel

    我正在尝试在 Windows 机器上安装 Laravel 我按照本指南进行操作直至第 11 点 http www wikihow com Install Laravel Framework in Windows http www wikih
  • Laravel Echo 不监听推送事件

    尝试使用 laravel 和 vuejs 创建一种聊天应用程序 发送消息后 我会从 laravel 触发事件 该事件会使用正确的事件类反映在推送器调试控制台上 但根本不会调用来自 vuejs 的监听回调 created window Ech
  • 雄辩的 laravel:如何从 ->get() 获取行数

    我在弄清楚如何使用这个集合来计算行数时遇到了很多麻烦 wordlist DB table wordlist gt where id lt correctedComparisons gt get 我努力了adding gt count 但没有
  • 如何在 Laravel 5 中手动添加 ClassLoader

    我想通过这个命令将我的类添加到类加载器中 loader new Composer Autoload ClassLoader loader gt addPsr4 test DIR modules test loader gt register
  • Laravel 5.4 合并两个集合

    所以我有两个收藏 sales and costs 现在我需要将它们合并为我的一个集合foreach状况 我不确定是否可以在一个集合中使用两个集合foreach 原始查询 Raw MySQL Queries for Sales total s
  • Laravel 中的 PATCH Ajax 请求

    是否可以向 Laravel 发出 Ajax PATCH 请求 或者我是否仅限于 POST Laravel 在输入隐藏字段中使用 PATCH 但是 我没有使用表单元素 只是在单击时 通过 Ajax 请求 应该部分更新记录的按钮 这条路线会是什
  • Laravel 显示“无法清除缓存。请确保您拥有适当的权限”

    Laravel 向我显示 用户 homestead localhost 访问被拒绝 使用密码 YES 一种解决方案是清除缓存和存储的配置缓存 所有这些都使用以下三个命令 php artisan cache clear php artisan
  • 如何使用 Laravel 伪造图像上传以使用干预图像包进行测试

    我有一个测试断言图像可以上传 这是代码 Test file UploadedFile fake gt image image one jpg Storage fake public response this gt post api ima

随机推荐