Laravel 5. Добавить запись в базу данных
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Как добавить запись в базу данных
Требуется произвести запись в таблицу базы данных.
Будем считать, что контроллер уже создан и нам необходимо произвести запись данных, содержащихся в массиве $data.
Модель принимает название Projects.
Содержимое контроллера:
$projects = new Projects();
$projects->create_project($data);
Данные строки кода создают экземпляр модели Projects
И вызывают метод create_project($data), где передают содержимое массива $data
Содержимое метода create_project модели Projects:
Присвоение переменным одноименные значения массива:
$title = $data['title'];
$description = $data['description'];
$url = $data['url'];
$author = $data['author'];
$create_date = $data['create_date'];
$update_date = $data['update_date'];
Сам запрос в базу данных на создание новой записи:
Будем считать, что контроллер уже создан и нам необходимо произвести запись данных, содержащихся в массиве $data.
Модель принимает название Projects.
Содержимое контроллера:
$projects = new Projects();
$projects->create($data);
Данные строки кода создают экземпляр модели Projects
С помощью create, производим запись содержимого массива $data в базу данных.
Содержимое метода create_project модели Projects:
class Projects extends Model
Свойство $fillable указывает, какие поля должны быть доступны для заполнения.
Свойство $guarded указывает, какие поля не доступны для заполнения.
Приведенные варианты позволяют произвести запись в базу данных.
Какой вариант лучше? Пожалуй решать только вам.
Лично мне второй вариант нравится больше.
Требуется произвести запись в таблицу базы данных.
Вариант 1.
Будем считать, что контроллер уже создан и нам необходимо произвести запись данных, содержащихся в массиве $data.
Модель принимает название Projects.
Содержимое контроллера:
$data = array(
'title' => 'New Project',
'description' => "This is description",
'url' => "http://pacificsky.ru",
'author' => '1',
'create_date' => date("d,m,y"),
'update_date' => date("d,m,y")
);
$projects = new Projects();
$projects->create_project($data);
$projects = new Projects();
$projects->create_project($data);
Данные строки кода создают экземпляр модели Projects
И вызывают метод create_project($data), где передают содержимое массива $data
Содержимое метода create_project модели Projects:
public function create_project($data)
{
$title = $data['title'];
$description = $data['description'];
$url = $data['url'];
$author = $data['author'];
$create_date = $data['create_date'];
$update_date = $data['update_date'];
return DB::insert('insert into st_projects (title, description, url, author, create_date, update_date) values (?, ?, ?, ?, ?, ?)', [$title, $description, $url, $author, $create_date, $update_date]);
}
Присвоение переменным одноименные значения массива:
$title = $data['title'];
$description = $data['description'];
$url = $data['url'];
$author = $data['author'];
$create_date = $data['create_date'];
$update_date = $data['update_date'];
Сам запрос в базу данных на создание новой записи:
return DB::insert('insert into st_projects (title, description, url, author, create_date, update_date) values (?, ?, ?, ?, ?, ?)', [$title, $description, $url, $author, $create_date, $update_date]);
Вариант 2.
Будем считать, что контроллер уже создан и нам необходимо произвести запись данных, содержащихся в массиве $data.
Модель принимает название Projects.
Содержимое контроллера:
$data = array(
'title' => 'New Project2',
'description' => "This is description2",
'url' => "http://pacificsky.ru",
'author' => '2',
);
$projects = new Projects();
$projects->create($data);
$projects = new Projects();
$projects->create($data);
Данные строки кода создают экземпляр модели Projects
С помощью create, производим запись содержимого массива $data в базу данных.
Содержимое метода create_project модели Projects:
class Projects extends Model
{
protected $fillable = [
'title', 'description', 'url', 'author',
];
protected $guarded = ['id'];
}
Свойство $fillable указывает, какие поля должны быть доступны для заполнения.
Свойство $guarded указывает, какие поля не доступны для заполнения.
Приведенные варианты позволяют произвести запись в базу данных.
Какой вариант лучше? Пожалуй решать только вам.
Лично мне второй вариант нравится больше.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.