Supongamos que tenemos una colección de la base de datos como esta:
$projects = Projects::all();Ahora, por ejemplo, quiero obtener el proyecto específico utilizando el valor de la columna especificada. Por ejemplo, supongamos que cualquier proyecto tiene un pr_code único. Ahora quiero obtener un elemento de la colección cuyo pr_code sea 1234.
Nota = Sé usar Projects::where('pr_code', 1234)->first() Pero no quería esto. Quiero usar dentro de la colección
¿Cómo podría hacer eso?
Las colecciones también tienen funciones where y first (y whereFirst ). Entonces solo necesita cambiar el orden de las funciones en su cadena: Projects::all()->firstWhere('pr_code', 1234)
Projects::all() consulta todos los registros en los proyectos y los devuelve como una colección de modelos de proyectos, esto podría ser un gran impacto en el rendimiento.
Projects::where('pr_code', 1234)->get() consultará los proyectos específicos y devolverá una colección de modelos de proyectos que tengan pr_code de 1234.
Projects::where('pr_code', 1234)->first() hará lo mismo, pero devolverá el primero como un modelo de Proyectos.
Recomiendo nombrar el modelo Proyecto en lugar del plural Proyectos. El modelo de Laravel es lo suficientemente inteligente como para saber usar el nombre plural de la tabla de la base de datos.