Подтвердить что ты не робот

Базовый стол или вид не найдены: 1146 Таблица Laravel 5

Я получаю эту ошибку, когда пытаюсь сохранить данные в mysql, используя Laravel 5, другие формы и методы save() работают нормально, но этот:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'sistemal5.cotizacions' doesn't exist (SQL: insert into `cotizacions` (`customer_id`, `total`, `updated_at`, `created_at`) values (1501, 150.69, 2015-05-11 03:16:25, 2015-05-11 03:16:25))

Вот мой метод хранения контроллера:

public function store(CotFormRequest $request)
    {    
        $quote = new Cotizacion;
        $quote->customer_id = Input::get('data.clientid');
        $quote->total = Input::get('data.totalAftertax');    
        $quote->save();    
    }

И вот моя модель:

<?php namespace App\Models\Cotizacion;

use Illuminate\Database\Eloquent\Model;


class Cotizacion extends Model {

}

Я должен упускать из виду что-то действительно очевидное, потому что я не могу понять, почему Laravel добавляет "S", таблица - это cotizacion not cotizacions.

Как я могу устранить эту проблему?

4b9b3361

Ответ 1

Я предполагаю, что Laravel не может определить множественную форму слова, которое вы использовали для имени вашей таблицы.

Просто укажите свою таблицу в модели как таковой:

class Cotizacion extends Model{
    public $table = "cotizacion";

Ответ 2

Я тоже столкнулся с этой проблемой в laravel 5.2, и если объявление имени таблицы не работает, возможно, потому, что у вас есть неправильное объявление или ошибка в коде проверки в запросе (если вы используете его)

Ответ 3

Джеймс Спенс прав, также случилось со мной. Я использовал столовые компании, и laravel поменял его на компании, которых не было. Греппинг не обнаружил окорнентности "компаний".

Это намекает на спасение жизни, это сводило меня с ума: P