laravel - 多个模型的表单模型绑定(bind)laravel 5.1

标签 laravel

我想为 laracollective 的 Form 包中的多个对象绑定(bind) Form 模型? 有以下内容吗?

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

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

最佳答案

我假设您使用的是 Laravel-Collective ,不幸的是你不能做那样的事情。相反,您可以尝试这样的事情:

更新

您可以在 Controller 中查询所有模型并像这样组合它们:

      $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. 创建用户模型与供应商模型之间的关系(一对一或一对多)示例

用户:

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

供应商:

public function user(){
  return $this->belongsTo('App\User','user_id);
}


  1. 像这样构建您的响应查询: $user = Vendor::with('user')->find($user_id);
  2. 然后在您的 View 模板中:

{!!形式::模型($用户,...)!!} 小贩: {!!表格::文本('vendor_name')!!} 用户:{{ Form::text('user[username]') }} {!!表单::关闭() !!

关于laravel - 多个模型的表单模型绑定(bind)laravel 5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38392268/

相关文章:

laravel - 为什么我的失败作业在迁移到 Laravel 5.8 后消失了?

php - Laravel 5.2 单元测试错误:BadMethodCallException:调用未定义的方法 Illuminate\Database\Query\Builder::make()

php - Laravel 错误 - stdClass 类的对象无法转换为字符串

php - 渴望在 Auth::user() 外观上加载嵌套关系

php - 在 Laravel 中管理上传的文件 - 链接公共(public)目录和存储目录

laravel - HasOne laravel在哪里条件

php - Laravel 的递归 ->toArray()

laravel - 无法在 ubuntu 上使用 Composer 安装 laravel 4

php - 为什么 "@foreach($pastRegistrations as $pastRegistration)"也返回结果?

php - 全局安装 Composer 以供 laravel 使用?