Laravel Исключению не удалось найти ограничение SQ драйвера 1 - PullRequest
0 голосов
/ 06 февраля 2020

Я изучал laravel6 с нуля на laracast.com и когда начал использовать базу данных. Я столкнулся со следующей проблемой:

Осветить \ База данных \ QueryException не удалось найти драйвер (SQL: выберите * из posts, где slug = предел для моего первого сообщения 1)

Я использую wamp с phpmyadmin. Я пробовал xamp и mySQL верстак. Я обновил свои зависимости, но без результата.

это мой контроллер:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostsController extends Controller
{
    public function show($slug)
    {
        $post = \DB::table('posts')->where('slug', $slug)->first();

        if(! $post){
            abort(404);
        }

     return view('post', [
         'post' => $post
     ]);
    }
}

Может кто-нибудь помочь мне с этой проблемой?

С уважением, Джефф

Ответы [ 3 ]

0 голосов
/ 06 февраля 2020

Вы вставляете \ DB в пространство имен

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class PostsController extends Controller
{
   public function show($slug)
    {
        $post = \DB::table('posts')->where('slug', $slug)->first();

        if(! $post){
            abort(404);
        }


     return view('post', [
         'post' => $post
     ]);
    }
}
0 голосов
/ 07 февраля 2020

Когда я установил composer. Мне нужно было указать местоположение моего php .exe. Это поле было пустым, поэтому я установил php, когда у меня уже был установлен wampp.

Решение: я удалил wampp, composer и удалил php. Я начал все сначала и установил xampp. Когда я хотел установить composer. Он сразу предложил php .exe в моей папке xampp. После установки laravel проблема была решена.

Вывод: Composer установка прошла неправильно. Поскольку в моей системе было несколько php, я, вероятно, присвоил composer неправильному.

Спасибо за вашу помощь.

0 голосов
/ 06 февраля 2020

удалить -var из кода

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostsController extends Controller
{
    public function show($slug)
    {
        $post = \DB::table('posts')->where('slug', $slug)->first();

        if(! $post){
            abort(404);
        }


     return view('post', [
         'post' => $post
     ]);
    }
}
...