【发布时间】:2019-08-01 08:46:49
【问题描述】:
我想在 Laravel 中获取一个咨询的中间号码的 ID。
示例:我在 laravel 中进行查询,它给了我 10 个元素,但我想知道中间的元素。
$usuario = Auth::user();
$mensajes = Message::all()->where('asunto', 0);
$totalResenas = Message::all();
$totalComentarios = count($mensajes);
$mitadComentarios = round($totalComentarios/2);
$mitadComentarios = trim($mitadComentarios);
$primerosComentarios = $mensajes[$mitadComentarios];
问题是最后的结果给了我元素总数的位置,而不是查询元素的位置。
在这种情况下,我想获取中间的元素,即位置 5,Id 为 7。
观点:
<!--Primera fila de las reseñas-->
@foreach($mensajes as $mensaje)
<!--Si es reseña aqui se mostrará-->
@if($mensaje->asunto = true)
@if($mensaje->id <= $primerosComentarios)
<p>{{ $mensaje->id }}</p>
<div class="service mb-0">
<div class="service__icon"><i class="pe-7s-user"></i></div>
<!--Calificacion en estrellitas-->
<!--Sacamos el valor de la calificacion-->
@php
$calificacion = $mensaje->calificacion;
@endphp
<!--END Sacamos el valor de la calificacion-->
<!--Imprimimos las estrellitas-->
@for($i = 1; $i <= $calificacion; $i++)
<label class="" style="color: orange" for="radio1">★</label>
@endfor
<!--END Imprimimos las estrellitas-->
<!--END Calificacion en estrellitas-->
<h3 style="color:lightseagreen;" class="service__title">{{ $mensaje->name }}</h3>
<p class="service__text">{{ $mensaje->mensaje }}</p>
</div>
@endif
@endif
<!--END Si es reseña aqui se mostrará-->
@endforeach
打印查询的后半部分
@foreach($mensajes as $mensaje)
<!--Si es reseña aqui se mostrará-->
@if($mensaje->asunto = true)
@if($mensaje->id > $primerosComentarios && $mensaje->id <= count($totalResenas))
<div class="service mb-0">
<div class="service__icon"><i class="pe-7s-user"></i></div>
<!--Calificacion en estrellitas-->
<!--Sacamos el valor de la calificacion-->
@php
$calificacion = $mensaje->calificacion;
@endphp
<!--END Sacamos el valor de la calificacion-->
<!--Imprimimos las estrellitas-->
@for($i = 1; $i <= $calificacion; $i++)
<label class="" style="color: orange" for="radio1">★</label>
@endfor
<!--END Imprimimos las estrellitas-->
<!--END Calificacion en estrellitas-->
<h3 style="color:lightseagreen;" class="service__title">{{ $mensaje->name }}</h3>
<p class="service__text">{{ $mensaje->mensaje }}</p>
</div>
@endif
@endif
<!--END Si es reseña aqui se mostrará-->
@endforeach
【问题讨论】:
-
请将此行
$mensajes = Message::all()->where('asunto', 0);替换为此$mensajes = Message::where('asunto', 0)->get();并检查输出。 -
检查
array_slice函数,但可能更适合您的情况的是array_chunk。请参阅this 答案。
标签: php mysql laravel laravel-blade