我的控制器具有功能
public function caritiket(Request $request){
$tgl=($request->tgl);
$kota1 = ($request->kota1);
$kota2 = ($request->kota2);
$jumlah = (int)$request->jml_p;
// $cek = DB::table('tb_bis_wp')->where('tanggal',$request->tgl)->where('kota1',$request->kota1)->where('kota2',$request->kota2)->count();
// if ($cek > 0) {
$cek1 = DB::table('tb_bis_wp')->where('tanggal',$request->tgl)->where('kota1',$request->kota1)->where('kota2',$request->kota2)->get();
foreach ($cek1 as $cek1) {
$a=$cek1->tanggal;
$b=$cek1->kota1;
$c=$cek1->kota2;
}
return redirect('/tampil/daftartiket/{{$a}}/{{$b}}/{{$c}}/{{$jumlah}}');}
从视图输入的名称已经与函数caritiket(Request $ request)中的名称相同,此后,指向函数daftartiket()的路由链接 这是daftartiket函数
public function daftartiket($a,$b,$c,$jumlah){
$jml= $jumlah;
$data = DB::table('tb_bis_wp')->where('tanggal',$a)->where('kota1',$b)->where('kota2',$c)->get();
return view('member/daftar_tiket',['data'=>$data]);
}
在视图中,我有这样的脚本
<table class="table table-bordered tabel table-striped">
<thead class="thead-dark text-center">
<tr>
<th scope="col">Kode Rute</th>
<th scope="col">Waktu</th>
<th scope="col">Rute</th>
<th scope="col">Kelas</th>
<th scope="col">Harga</th>
<th scope="col">Sisa Kursi</th>
<th scope="col">Option</th>
</tr>
</thead>
<tbody class="text-center">
@foreach($data as $z)
<tr>
<td>{{$z->kode_rute}}</td>
<td>{{$z->waktu}}</td>
<td>{{$z->rute}}</td>
<td>{{$z->kelas}}</td>
<td>{{$z->harga}}</td>
<td>{{$z->sisa_kursi}}</td>
<td>
<a href="/tampil/#/{{$z->kode_rute}}" class="btn btn-primary ">Pesan</a>
</td>
</tr>
@endforeach
</tbody>
</table>
答案 0 :(得分:0)
快速查看代码后,可能与以下行有关:foreach ($cek1 as $cek1) {
确保名称不同,然后看是否有效。例如
<?php
foreach ($cek1 as $cek) {
// ...
}
更新: 这是该功能的完整版本。
<?php
namespace App\Http\Controllers;
class MyController extends Controller
{
public function caritiket(Request $request)
{
$tgl = $request->tgl;
$kota1 = $request->kota1;
$kota2 = $request->kota2;
$jumlah = (int) $request->jml_p;
// You are only grabbing the last value anyway.
$cek1 = DB::table('tb_bis_wp')
->where('tanggal', $tgl)
->where('kota1', $kota1)
->where('kota2', $kota2)
->orderBy('id', 'DESC')
->first();
if ($cek1) {
$a = $cek1->tanggal;
$b = $cek1->kota1;
$c = $cek1->kota2;
// You cannot use blade syntax in the controller.
return redirect("/tampil/daftartiket/$a/$b/$c/$jumlah");
}
}
}
答案 1 :(得分:0)
首先,您必须了解如何编写代码。请参阅存在一些错误 您的代码,如果您将request-> kota1存储在$ kota1中,则在有条件的地方使用 $ kota1而不是$ request-> kota1,因为没有必要使用它。 foreach循环不要使用相同的变量来避免冲突。
public function caritiket(Request $request)
{
$tgl = $request->tgl;
$kota1 = $request->kota1;
$kota2 = $request->kota2;
$jumlah = (int)$request->jml_p;
$cek1 = DB::table('tb_bis_wp')
->where('tanggal',$tgl)
->where('kota1',$kota1)
->where('kota2',$kota2)
->get();
foreach ($cek1 as $cek)
{
$a=$cek1->tanggal;
$b=$cek1->kota1;
$c=$cek1->kota2;
}
return redirect('/tampil/daftartiket/{{$a}}/{{$b}}/{{$c}}/{{$jumlah}}');
}