如何解决此代码,它做的事情很奇怪,我不明白为什么。拉拉韦尔

时间:2019-10-25 17:05:36

标签: laravel vue.js element-ui

此代码的目的是从Collecting package metadata (repodata.json): failed 中提取用户选择的内容,并将其添加到另一个数组中,该数组将填充el-select,仅包含已选择的内容。

当前此代码将选择的内容添加到数组中,并将其他内容添加到数组中,如果我有a,b,c可供选择,并且我选择了a,b和c,则将其添加到表的数组中,而不是一种。

这段代码使用的是我不太熟悉的东西,这就是为什么我看不到哪里出错的原因。

el-table

使用的数组在Vue的脚本数据中被实例化

addCourses() {
   const currentCourses = this.packageForm.package_courses.map((item) => item.course_id);
   const courses = this.courses.filter((item) => {
       return this.selectedCourses.indexOf(item.id) && currentCourses.indexOf(item.id) < 0
   });

   courses.forEach((course) => {
      this.packageForm.package_courses.push({
         course_id: course.id,
         course: course,
         price: 0
      });
  });
  this.selectedCourses = [];
},

courses: [], selectedCourses: [], 也在数据中,但是在表单中,并且也只是package_courses

这是el-select和el-table的依据

package_courses: []
<el-row>
    <el-col>
        <el-select v-model="selectedCourses"
            clearable
            filterable
            multiple
            placeholder="Select">

            <el-option
                v-for="item in courses"
                :key="item.id"
                :label="item.name"
                :value="item.id">
            </el-option>
        </el-select>
    </el-col>
    <el-col>
        <el-button @click="addCourses()" type="danger">
            Agregar Cursos
        </el-button>
    </el-col>
</el-row>

如何解决它,使其只添加已选择的内容,而不添加其余内容,还包括当我单击添加按钮并且未选择任何要添加的内容时,我确定自己对此有何感想,对我来说,可以全部添加或不添加。

1 个答案:

答案 0 :(得分:0)

你可以试试吗?

SELECT 
        COUNT(*)  OVER(ORDER BY p.postid) AS CountPosts
    ,   t.CountThreads
FROM 
    post p 
    CROSS APPLY  
    (
        SELECT COUNT(*) AS CountThreads 
        FROM thread t
        WHERE  t.threadid = p.threadid
        AND t.cat=1
    ) t