我正在尝试使用laravel从mysql中获取一些信息。 我的控制器:
$match->message = DB::table('log')->where('match_id', '=', $match->match_id)->get(['message']);
$match->authid = DB::table('log')->where('match_id', '=', $match->match_id)->get(['authid']);
我的刀片:
@foreach ($match->authid as $username)
@foreach ($match->message as $text)
{{ $username->authid }} {{ $text->message }}<br />
@endforeach
@endforeach
但是错误地获得4个结果。获得:
应该是:
怎么了?
答案 0 :(得分:3)
由于你在foreach中有一个foreach,因此它是重复的。
尝试以下代码。
B cr = new B();
cr.C.BackColor = Color.FromArgb(0, 0, 255);
答案 1 :(得分:0)
尝试以下
$match->message = DB::table('log')->where('match_id', '=', $match->match_id)->get(['message','authid']);
@foreach ($match->message as $text)
{{ $text->authid }} {{ $text->message }}
@endforeach
答案 2 :(得分:0)
如果您只需要两个字段数据,那么您不必在多个变量中构建两个查询,您可以执行以下操作:
$data = DB::table('log')->where('match_id', '=', $match->match_id)->get(['authid','message']);
@if ($data)
@for ($i = 0; $i < count($data); $i++)
{{ $data[$i]->authid }} {{ $data[$i]->message }}
@endfor
@endif
使用上面的代码,如果您没有从foreach
变量
$data
中收到错误