Laravel从其他表中获取user_id用于存储

时间:2017-08-09 17:03:42

标签: php laravel laravel-5

我有4张桌子: -

  1. 用户

    • ID
    • 用户名
    • 密码
    • 电子邮件
  2. available_offers

    • ID
    • 日期
    • 时间


  3. requested_routes

    • id
    • user_id
    • available_offersID
  4. rating_passengers

    • ID
    • USER_ID
    • available_offersID
    • 等级
  5. 这个系统在这里做什么: -

    1. 我有一个页面调用我的路由作为驱动程序提供
      • 显示日期
      • 显示时间
      • 显示
      • 显示
      • 显示乘客姓名
      • 显示评级
      • 评级的单选按钮
      • 提交按钮
    2. 我[司机]可以评价任何预订我的乘客
    3. 费率应存储在tables_rating_passengers
    4. 这是我的控制器: -

      class routes_offeredController extends Controller
      {
      public function create()
      {
      
          $passengers = requested_routes::with('available_offers', 'user')
                      ->get();
      
          //return $passengers;
      
          return view ('routes_offered.show', compact('passengers'));
      }
      
      public function store()
      {
          rating_passenger::create([
      
              'user_id' =>Auth::id(),
              'rating' => request('rating'),
              ]);
      
          return redirect('/');
      }
      }
      

      如果我返回$ passenger

      的结果
      [
       {
        "id": 1,
        "user_id": 1,
        "available_offersID": 1,
        "created_at": null,
        "updated_at": null,
        "available_offers": {
           "id": 1,
           "date": "2017-08-08",
           "time": "14:11:15",
           "from": "Perlis",
           "to": "Kedah",
           "user_id": 3,
           "isBooked": 0,
           "created_at": null,
           "updated_at": null
        },
        "user": {
           "id": 1,
           "name": "safwan",
           "username": "safwan123",
           "email": "wan@gmail.com",
           "created_at": null,
           "updated_at": null
        }
      ]
      

      我的观点

      enter image description here

      在我的routes_offered视图中,我可以显示所有数据。我也已将数据保存到表rating_passenger。这里唯一的问题是,我无法获得可用于保存到数据库的available_offers [user_id for passenger]的id。

1 个答案:

答案 0 :(得分:1)

在您看来,我认为你有这样的事情:

@foreach ($requestedRoutes as $rr)
    <form action=".....">
        <tr>
            <td>{{$rr->date}}
            (...)
        </tr>
    </form>
@endforeach 

您必须将available_offersID发送到Controller。 因此,您只需在表单后面添加一个隐藏字段,并将id设置为值,如:

<input type="hidden" name="available_offersID" value="{{ $rr->available_offersID }}">

然后,您可以在Controller中获取值:

request('available_offersID')