not exist does app php laravel namespaces models laravel-5

php - class app/http/controllers/ does not exist



No se encuentra la clase ''App / Http / Controllers / DB'' y tampoco puedo usar un nuevo modelo (6)

Tengo un problema muy básico. En L4 thes below methods work out of the box, así que ahora estoy perdido. Por favor ayuda. Hace unos días comencé un proyecto Laravel 5.0. Ahora tengo una instalación nueva y limpia.

Problema 1: cuando trato de obtener algo de la base de datos

$headquote = DB::table(''quotation_texts'')->find(176);

Entiendo esto:

Class ''App/Http/Controllers/DB'' not found

Problema 2: antes de clonar el modelo User.php, cambié el nombre de la clase a "Cotización". A continuación se muestra el contenido del archivo Quotations.php puesto en la carpeta raíz de la aplicación:

<?php namespace App; use Illuminate/Database/Eloquent/Model; class Quotation extends Model { /** * The database table used by the model. * * @var string */ protected $table = ''quotation_texts''; }

Cualquier intento de usar el modelo

$headquote = Quotation::find(176);

termina con esto:

Class ''App/Http/Controllers/Quotation'' not found

¿Alguna idea de cómo podría resolver el problema?


El problema aquí son los espacios de nombres PHP. Necesitas aprender a usarlos. Como su controlador está en el espacio de nombres App/Http/Controllers , si refiere cualquier otra clase, debe agregar una barra inclinada invertida (o el espacio de nombre adecuado) o agregar una instrucción de use al principio del archivo (antes de la definición de la clase).

Entonces en tu caso podrías usar:

$headquote = /DB::table(''quotation_texts'')->find(176); $headquote = /App/Quotation::find(176);

o agregue en su declaración de use clase de controlador para que el comienzo de su clase de controlador se vea así:

<?php namespace App/Http/Controllers; use DB; use App/Quotation;

Para obtener más información sobre los espacios de nombres, puede consultar Cómo usar objetos de otros espacios de nombres y cómo importar espacios de nombres en PHP o espacios de nombres en el manual de PHP.


Hay un problema en el espaciado de nombres como en laravel 5.2.3

use DB; use App/ApiModel; OR use App/name of model; DB::table(''tbl_users'')->insert($users); OR DB::table(''table name'')->insert($users); model class ApiModel extends Model { protected $table=''tbl_users''; }


Pruebe de esta manera:

<?php namespace App/Http/Controllers; use Illuminate/Http/Request; use DB; class UserController extends Controller { function index(){ $users = DB::table(''users'')->get(); foreach ($users as $user) { var_dump($user->name); } } } ?>


Rápido y sucio

use DB;

O

/DB::table...


Solo agrega esta parte superior de tu controlador.

use DB;


Utilice la barra diagonal inversa antes de db en el encabezado y puede usarla normalmente como lo escribió antes.

Aquí está el ejemplo:

Use /DB;

Luego, dentro de tu clase de controlador, puedes usarlo como antes, como por ejemplo:

$item = DB::table(''items'')->get();