laravel

El método BadMethodCallException de Laravel [buscar] no existe

El método BadMethodCallException de Laravel [buscar] no existe

Problema

He estado tratando de obtener un modelo Eloquent de la base de datos, pero sigo entrando en BadMethodCallExceptionMethod [buscar] no existe.

Esto es lo que intenté hasta ahora:

Aplicación de espacio de nombres;
use Illuminate \ Database \ Eloquent \ Model;
use App \ Organization;
clase El usuario extiende el modelo
/ **
* La tabla de la base de datos utilizada por el modelo.
*
* @var cadena
* /
protegido $ tabla = 'usuarios';
/ **
* Los atributos excluidos del formulario JSON del modelo.
*
* @var matriz
* /
protegido $ oculto = matriz ('contraseña');
organizaciones de función pública ()

return $ esto-> pertenece a muchos (Organización :: clase);

Esta es una clase de usuario básica que viene con cada nuevo proyecto de Laravel. Después de crear un nuevo usuario, puedo ver claramente que el usuario con ID3 existe en la base de datos. Sin embargo, cuando hago lo siguiente, termino con el El método BadMethodCallException [buscar] no existe

class User amplía BaseController
función pública getUser ($ id)

$ my_user = Usuario :: buscar ($ id);
vista de retorno ('usuarios.índice ', matriz (' usuario '=> $ mi_usuario));

Mis rutas archivo rutas \ web.php:

Route :: get ('usuario / id', '[correo electrónico protegido]');
Ruta :: obtener ('/', función ()

return View :: make ('prueba');
);

Solución

Hay algunos problemas con esta implementación que pueden hacer que reciba El método BadMethodCallException [buscar] no existe excepción.

Después de hacerlo, debería poder acceder a su modelo de aplicación \ usuario como pretendía.

Explicación adicional (solo para fines educativos)

Como sabes, el desarrollo web nunca tuvo la intención de ser un espectáculo unipersonal. Por lo general, puede esperar colaborar con otros desarrolladores aproximadamente el 90% del tiempo. Para que el proyecto tenga éxito, debe asegurarse de que todos sigan las reglas generales de codificación.

Una de las reglas será sobre convenciones de nomenclatura y entiendo que mantenerse al día con una convención de nomenclatura definida requiere mucho esfuerzo y puede potencialmente perder mucho tiempo del equipo hasta que todos puedan entenderlas y seguirlas. Esto es especialmente difícil para los nuevos desarrolladores que se unen al equipo.

Le sugiero que intente leer más código de otras personas antes de comenzar a escribir el suyo, solo para tener una idea de las mejores prácticas de la industria.

Algunas reglas son obligatorias y otras se dejan en manos del equipo para decidir cómo quieren abordar.

Al observar el problema desde arriba, notará que todas las clases deben escribirse en StudlyCaps, por lo que UserController y no user_controller .

Y este es un ejemplo de una regla obligatoria a seguir.

Ahora, un ejemplo de lo que usted como equipo podría definir como su regla interna es cómo nombrar sus clases, métodos y variables.

Si se espera que un proyecto crezca con el tiempo, ciertamente puede esperar muchas entidades diferentes que de una forma u otra incluyen un Usuario, por lo que es importante que no se le ocurran nombres vagos para sus clases, métodos y variables.

Mi consejo personal aquí es; no tenga miedo de tener una clase más larga o un nombre de método. Si necesita un comentario que explique su método, entonces el nombre de su método probablemente pueda ser mejor.

Un ejemplo de esto es que si necesita obtener usuarios de una base de datos con alguna condición adicional, tal vez sean usuarios mayores de 50 años, entonces no nombre su método getUsers . Una mejor manera de nombrarlo es getAllUsersOver50YearsOld .

Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...
Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...