首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Array传递给控制器以保存为多对多关系

将Array传递给控制器以保存为多对多关系
EN

Stack Overflow用户
提问于 2014-08-27 23:34:08
回答 1查看 100关注 0票数 0

我正在尝试允许我的用户将标签添加到已提交的职位发布中。

为此,我使用了bootstrap-tokenfield插件。

用于收集数组并提交的Jquery脚本:

代码语言:javascript
复制
    //create a new array and push the skills on to it. 
    var tokenfield = new Array();
      $(".skills").each(function() {
      tokenfield.push($(this).val());
      });

然后使用ajax将其与所有表单详细信息一起提交给我的控制器函数。

控制器:

代码语言:javascript
复制
    //save job
      $job = new Job;
      $job->user_id = $this->userID;
    //other fields...
      $job->save();

//After job is saved iterate over tokenfield array and save to pivot table using Laravel Eloquent properties:

    foreach($_POST['tokenfield'] as $val){
        //only skill name is passed from form.  Find id:
    $skill = Skill::where('name','=', $val)->first();
    if(JobSkill::create(array('job_id' => $job->id, 'skill_id' => $skill->id)))
            { return Response::json(array('success' => 200));}

我得到了一个错误:试图获取与$skill->id相关的非对象的属性,所以我做了一个dd($_POST‘’tokenfield‘);结果是:

代码语言:javascript
复制
array(1) { [0]=> string(33) "Window Installation, deck removal"}

我的问题是:我没有正确地创建数组,或者我在控制器中没有正确地接受它吗?提亚

EN

回答 1

Stack Overflow用户

发布于 2014-08-27 23:49:14

简单地说,Laravel不接受$_POST‘’tokenfield‘

JAVA不是很好,但是

代码语言:javascript
复制
    var tokenfield = new Array();
  $(".skills").each(function() {
  tokenfield.push($(this).val());
  });

这不是命中注定的吗?

代码语言:javascript
复制
    var tokenfield = new Array(
  $(".skills").each(function() {
  tokenfield.push($(this).val());
  }));

如果我错了,请纠正我,但对我来说,这看起来像是控制器找不到post数据

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25531324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档