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

如何插入到数据透视表提交后使用附件?

陆展
2023-03-14

我使用Laravel雄辩,我试图插入所选用户ID从我的表单和生成的票ID到我的数据透视表使用附加,但我不知道如何做到这一点。

存储功能

 public function store(Request $request
 {        
     $ticket = new Ticket;
     $ticket->organisation_name = $request['organisation_name'];
     $ticket->postal_address = $request['postal_address'];
     $ticket->physical_address = $request['physical_address'];
     $ticket->description_brief = $request['description'];
     $ticket->hours_dedicated = $request['hours'];
     $ticket->commencement_date = $request['start_date'];
     $ticket->due_date = $request['due_date'];
     $ticket->client_id = $request['client_id'];
     $ticket->save();

     //trying to use attach here

     return redirect('/home');
 }

类型

 <form action="TicketsController@store" method="POST">
        {{csrf_field() }}
        <div class="form-group">
            <label>Organisation Name:</label>
            <input type="text" class="form-control" name="organisation_name" placeholder="Enter Organisation Name">
        </div>
        <div class="form-group">
            <label>Postal address:</label>
            <input type="text" class="form-control" name="postal_address" placeholder="">
        </div>
        <div class="form-group">
            <label>Physical address:</label>
            <input type="text" class="form-control" name="physical_address" placeholder="">
        </div>
        <div class="form-group">
            <label>Client:</label>
            <select class="form-control" name="client_id">
                @foreach ($forms as $form)
                <option>{{$form->client->client_id}}</option>
                @endforeach
            </select>
        </div>
        <div class="form-group">
            <label>Description:</label>
            <input type="text" class="form-control" name="description" placeholder="">
        </div>
        <div class="form-group">
            <label>Hours:</label>
            <input type="text" class="form-control" name="hours" placeholder="">
        </div>
        <div class="form-group">
            <label>Start date:</label>
            <input type="text" class="form-control" name="start_date" type="date" placeholder="">
        </div>
        <div class="form-group">
            <label>Due date:</label>
            <input type="text" class="form-control" name="due_date" type="date" placeholder="">
        </div>
        <div class="form-group">
            <label>User:</label>
            <select class="form-control" name="id">
                @foreach ($users as $user)
                <option>{{$user->id}}</option>
                @endforeach
            </select>
        </div>
        <input type="submit" name="submit" class="btn btn-primary">

    </form>

User.php

 class User extends Authenticatable
 {
 use Notifiable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name', 'email', 'password',
];

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];
public function tickets(){
    return$this->belongsToMany(Ticket::class,'ticket_user','ticket_id','id');
}

Ticket.php

 class Ticket extends Model
 {

public function client(){
    return $this->belongsTo(Client::class,'client_id');
}
public function users(){
    return $this->belongsToMany(User::class,'ticket_user','id','ticket_id');
}

protected $primaryKey = 'ticket_id';
public $timestamps = false;

 }

共有1个答案

束阳旭
2023-03-14

根据留档,您可以简单地传递要附加的id。在$ticket-之后

$ticket->users()->attach($request->input('id'));

attach()如果您传递一个ID数组、一个模型、一个ID集合或一个模型集合,也会起作用。

 类似资料:
  • 我正在建立一个音乐发现服务。我的问题是:如何将数据插入到三方数据透视表Tag_Track_User? 我在LaravelSD看到了这个模式 它包括六个主要表(和其他几个):艺术家,专辑,曲目,标签,用户和Tag_Track_User 艺术家们 标签、轨迹和用户都是相互关联的,因为没有第三个,任何两个都不可能存在。 艺术家有许多()专辑 专辑有许多歌曲,属于艺术家 曲目belongsTo()相册 跟

  • 我想创建用户角色系统,为此我创建了三个表:用户、角色 它有一个belongToMany关系,透视表存储了用户id

  • B.1 创建数据透视表 尽管数据透视表的功能非常强大,但是创建的过程却是非常简单。 将光标点在表格数据源中任意有内容的单元格,或者将整个数据区域选中。 “插入”选项卡,单击“数据透视表”命令。 3. 在弹出的“创建数据透视表”对话框中,“请选择要分析的数据”一项已经自动选中了光标所处位置的整个连续数据区域,也可以在此对话框中重新选择想要分析的数据区域(还可以使用外部数据源,请参阅后面内容)。“选择

  • 对于如何控制表单中的提交事件,我有点困惑,我试图在这里找到一个简单的答案。 我想在将表单数据发送到表单操作脚本之前验证表单输入。我试图通过捕获submit事件、使用Ajax调用验证脚本来解决这个问题,如果验证成功,我希望调用实际的表单过程。但我不确定该如何进行。简单地使用似乎会失败(我猜是没有发送表单值)。 下面是概念代码: null null

  • 问题内容: 我在使用该函数在PostgreSQL中创建数据透视表时遇到问题。它运作良好,但可以产生多个记录。如何避免这种情况? 这是SQL: //编辑 Thx to Erwin现在可以使用了,但是我试图在没有内置函数的情况下做到这一点,但是没有运气。有人可以提出建议吗?我的代码只有两年了: 问题答案: 您需要相应地进行第一个查询。我在这里使用简化的语法 。 该函数未包含在标准PostgreSQL中

  • 问题内容: 我正在使用SQL Server 2008,并且希望将数据转换为: 资料集: 所需结果: 目前,我正在执行以下操作,然后将所需的列粘贴到Excel中: 但是,并非所有匹配的行都不能仅仅并排击打表。对于没有Result的列,我希望显示NULL来填充行以使它们都具有相同数量的记录。 我查了一下PIVOT,但我认为这在这里不起作用…这种数据转换称为什么类型?我不认为这是交叉表… 谢谢! 问题答