laravel orm добавляет 's' с именем таблицы


laravel orm добавляет 's' с именем таблицы

20.11.2019 10:52:13 Просмотров 74 Источник
    $user = new User();
    $user->name=$request['name'];
    $user->email=$request['email'];
    $user->password=$request['password'];
    $user->save();

/ * SQL: вставить в users(name, email, password, updated_at, created_at) значения (Avijit Acharjee, avijitach@gmail.com, 12345, 2019-11-20 19:33:12, 2019-11-20 19:33:12) */

Приведенный выше код преобразуется в прокомментированный sql. Он добавляет 's' к имени таблицы. Как ее решить?

У вопроса есть решение - Посмотреть?

Ответы - laravel orm добавляет 's' с именем таблицы / laravel orm adds 's' with table name

rpm192

20.11.2019 10:55:55

Вы можете задать имя таблицы, в которой хранятся ваши пользователи, добавив его в пользовательскую модель:

class User extends Authenticatable
{
    // ... other code

    protected $table = 'yourTableName';
}
Tim Lewis

20.11.2019 10:56:12

Это поведение Laravel по умолчанию.

Если не указано иное, table, которую он ищет при запросе модели, является строчной множественной версией имени класса. Таким образом, в этом случае Userпреобразуется в usersпри запросе.

Чтобы справиться с этим, установите tableна модели:

class User extends Model {
   protected $table = "user";

   ...
}

Примечание: это противоречит стандартным соглашениям об именах, но опция доступна, если вам это нужно.

https://stackoverflow.com/questions/58962316/laravel-orm-adds-s-with-table-name/58962380#comment104180071_58962380
Большое спасибо. Это хорошо сработало .
Помочь в развитии проекта:
Закрыть X