如何检查另一个 table 的列并将它们的值传递给另一个 table

How to check another table's columns and get their values to the other table

我正在为这个问题苦苦挣扎 很快,我就有了 payments 页面。管理 select 用户和课程,那么他应该 select course_type,它从 courses table 的三列中获取值(cost_group、cost_minigroup、cost_individual,其中之一)。如果 course_type 是 selected,成本当然必须是 插入付款 table(在 course_cost 列内)。所以我做了什么

表格:

payments{ id,student_id, course_id, course_cost}
courses { id, name,cost_group,cost_minigroup,cost_individual }

我的CourseController.php

>  public function get($id){
>         $course = Course::findOrFail($id);
>         return response()->json($course);
>     }

这是我的form.blade.php

<div class="ui selection dropdown">    
  <input type="hidden" name="course_">
      <i class="dropdown icon"></i>
       <div class="default text">Course type</div>
   <div class="menu">
       <div class="item" data-value="course_group">Group</div>                  
       <div class="item" data-value="course_minigroup">Mini Group</div>
       <div class="item" data-value="individual">Individual</div>
   </div>
</div>

我的 PaymentsController

 public function store(){
      $payment = new Payment;
      $payment->student_id = Input::get('student_id');
      $payment->course_id = Input::get('course_id');
      $payment->course_cost = Input::get('course_cost');
      $payment->save();
      return redirect('payment');
        }

因此,问题是如何从三列课程 table 中获取此 course_cost 值。如果您知道如何解决或任何方法或建议会很棒。提前谢谢你们。

在您的 blade 上,我看到您将输入命名为 course_ 不太确定,因为 HTML 片段不完整,但这可能是您遇到问题的原因。

最好在将它存储到任何东西之前检查你得到了什么,尝试先 运行 dd(Input::all()) 作为调试的开始。

关于获取课程费用的价值,有很多方法,一种是ajax更新字段。

您最好通过 js.and 在您的字段(下拉列表)中获取值,应该改为使用此代码

<div class="menu">
   <div class="item" data-value="{{$data['course_group']}}">Your call1</div>
   <div class="item" data-value="{{$data['course_minigroup']}}">Your call2</div>
   <div class="item" data-value="{{$data['course_individual']}}">Your call3</div>
</div>

然后你应该插入一些控制器代码

$payment->course_cost = Input::get('course_val');

然后在您的 .js 文件上试试这个

$('.course_val').click(function({
$('#course_val').val($(this).attr('data-value'));
alert('Your alert')
}))