Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Ресурс-контроллеры обрабатывают запросы согласно стандартам http.
Существует несколько способов обращения к одному и тому же адресу: get, post, put и delete
Метод route просто подставляет урл в тэг <a> при этом он ничего не говорит о способе, которым делается запрос, поэтому код <a href=> для show и delete будет идентичный - через get ипоэтому обработается методом show
Я использовал библиотеку guzzle для своего класса.
Вызов API выглядит так:
$API = new classAPI;
$params = [
'some' => 'params',
];
$response = $API->someMethod($params);
По необходимости $response может быть массивом или объектом
someMethod может не иметь параметров, а можно описать их внутри класса classAPI
Выглядит это следующим образом:
protected function methods(): array
{
return [
'someMethod' => [
'url' => 'getMe',
'method' => 'GET',
'isJson' => 1,
'params' => [
'text' => '',
],
],
];
}
Читать файл по строкам и импортировать так же, по-строчно.
Не пойму, зачем конвертить в строку, а потом пытаться на стороне сервера поймать из нее name(разумеется его там не будет)
М.б. сразу воспользоваться методом
$.post( "test.php", { name: "John", time: "2pm" } );
Но настоящие джыдаи сейчас не используют jquery вообще, все нужные заголовки он подставляет сам.
axios
.post('/ajax/url', {
name: "sometext",
})
.then(r => this.afterPost(r.data))
$tags = explode(",", (string)$request->input('tags'));
$query->join('post_tags as pt', 'p.id', '=', 'pt.post_id')
->whereIn('pt.slug', $tags);
Это сеттер переменной slug, в данном случае не берется значение передаваемой переменной $value, а устанавливается в зависимости от $this->title и текущего времени в формате dmyHi
Вызывается при любой записи в slug любого значения, например
$this->slug=0
На выходе получится что то типа
Echo($this->slug) //current-title-010720200055
Ошибка в $room = array($room);
Здесь объект $room зачем-то преобразуется в массив и далее сохраняется в массив $new_room
Меня всегда поражали люди, которые сами себе создают трудности затем, чтобы их в последствии героически преодолевать.
Ну вот кто Вам мешает на форме сразу создать многомерный массив нужной структуры и не заниматься маст... медитацией?
Ведь очевидно, что image1 и image_description1 это какие-то поля ввода, автоматически генерируемые на форме с помощью js, так что мешает сразу оформить их как надо?
нет, такая библиотека не требуется.
Вот пример такой миграции
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UserRoles extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('user', function (Blueprint $table) {
$table->json('roles')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('user', function (Blueprint $table) {
$table->dropColumn('roles');
});
}
}
Здесь Вы видите создание столбца roles и откат миграции, при котором удаляется этот столбец.
Разумеется Вы можете поменять действия в up/down местами, тогда миграция будет удалять столбец, а при откате создавать его.
Нет, не получается.
В таблицу связей можно накидать теги в любой момент после создания записи в постах.
Это можно сделать сразу, можно через любой промежуток времени после.
Post
id, title
1, Юность
2, Молодость
3, В расцвете сил
4, Старость
Tag
id, name
1, кино
2, вино
3, домино
4, клестир
5, сортир
PostTags
post_id, tag_id
1, 1
2, 1
2, 2
3, 2
3, 3
4, 4
4, 5
это не дурной тон, это связь один-ко-многим.
Таким способом можно для 1 поста указать только 1 тэг.
То есть таблица Post будет выглядеть так:
id, tag_id
1 , 1
2 , 1
3 , 2
4 , 3
Таким образом создать одному посту несколько разных тегов будет невозможно.
Классический пример того, как самому себе создать проблему на ровном месте, а потом мужественно, сквозь слезы, жевать кактус.
Зачем?
Не ну реально, зачем???
Что сложного во фронт передать сразу и id и name и возвращать в бэк айдишник, чтобы потом не заниматься вот этим всем эдаким садомизмом в особо извращенной форме?
А если департаментов 1000? 10000000? А если часть наименований совпадает? А пользователь взял и накосячил, написал вместо 'ООО' Дарусман - ООО Дapycman?
1 пост может иметь несколько тегов.
Постов может быть много.
Такая таблица называется многие-ко-многим
select *
from users usr
inner join (
select count(*) as cnt,
firstname,
lastname
from users
group by firstname, username
having cnt>1
) as u ON u.firstname = usr.firstname and u.lastname = usr.lastname
извините что вклиниваюсь в вашу искрометную беседу, но не проще ли работать с роутом через ресурсконтроллер?
Дополню предыдущего оратора.
На этом сайте есть неплохое руководство под названием Хорошие практики Laravel
Там хоть и не про скл, но, думаю, будет полезно.
20 строк даже из нескольких миллионов даже для mysql не особая проблема.
Это вообще к Laravel не имеет отношения, тут исключительно задержки бд(сотню мс)
Параллельность запроса.. если Вы про одновременность от разных юзеров, то опять же, лара тут не при чем, все выполняет бд, к ней и вопросы, но если Вы про труе параллельность... ну, соболезную.
А у меня встречный вопрос.
Вы собираетесь выводить все 700 000 строк за раз?
Скажите, какие из современных браузеров, которые Вы знаете, способны отобразить сразу столько элементов и остаться в сознании?
return view('welcome', $category);
Изи...
public function update(Request $request){
$requests = [
'form_name1' => Gateways1Request::class,
'form_name2' => Gateways2Request::class,
];
$formName = $request->formName;
$classRequest = $requests[$formName] ?? DefaultRequest::class;
//валидация
\App::make($classRequest);
$gateway = $request -> segment(4);
///....
}
Естественно это делается на 1 бд, заводить лишние сущности без нужды - это не тру вэй и способ легко подложить себе мину в случае сопровождения. Обновить даже 1000баз будет то еще удовольствие.
1. User - все данные пользователя: id, login, md5hash, roles,...
2. Record - id, user_id, date, text
Выборку данных можно сделать так
//модель таблицы record
class dbRecord exnends Model
{
protected $table='record';//имя таблицы
// граничные условия по пользователю
public function scopeUser($query, $userId)
{
return $query->where('user_id', $userId);
}
}
//контроллер отображающий записи пользователя
class RecordController extends Controller
{
public function index()
{
$records = dbRecord::user(\Auth::id())->paginate();
return view('index', ['record' => $records]);
}
}
Обращение к рекорд контроллеру будет возвращать все записи по юзеру.
Стоит добавть скоуп по времени, дабы пользователь мог выбрать период.
Затратность выборки решается либо добавлением индекса по user_id, либо переездом на нереляционную бд, например mongoDb
В этом вашем уиндусе(тьфу-тьфу-тьфу, чур меня!) было такое понятие как dll-hell, подробности в вики, но тут будет схожая ситуация.
Как будет осуществляться миграция?
Что с целостностью, когда один пользователь даст ссылку на свою запись другому пользователю?
А если потребуется апдейт на таблицы произвести? Например значение одного поля заменить на другое?
И главное, совершенно непонятно, зачем это нужно, какая цель преследуется в итоге, из постановки задачи это легко выполняется и в пределах одной бд.
Ajax? Не?
Ну.. ок.
два извечных вопроса... https://demotiviruem.net/uploads/2014/0 … oprosa.jpg
Если в коде ошибка запланирована, тоды ой, в противном случае её там быть не должно.
Или я чего то не знаю о суровых челябинцах?