Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Добрый день. Решил продолжить тему laravel+vue . Вопрос скорее информационный. Может кто поделится своим опытом. Вопрос заключается при обновлении количества товара в компоненте в корзине после его добавления в таблицу. Т.е при нажатии кнопки Add, товар добавляется в таблицу , а кол.отображается в компоненте в Header, как обычно . Какие события лучше использовать,чтобы обеспечить асинхронность обновления корзины.Надеюсь Вопрос поставил правильно. Спасибо.
Спасибо всем за помощь . Проблема решилась поиском другого плагина.
https://github.com/outl1ne/nova-multiselect-field
Добрый день. Кто нибудь использовал https://github.com/Benjacho/belongs-to-many-field-nova ???
Что то у меня не получается настроить . Не отображает никаких данных . Или может кто нибудь посоветует более рабочее ? Заранее спасибо.
День добрый . Не стал открывать новую тему , а решил написать здесь. Решил использовать tailwind-component carousel , но столкнулся с проблемой , при интеграции в Laravel Inertia Vue 3 tailwind vite . Даже при копировании кода с официального сайта в Edge и Opera при загрузке страницы не отобращаются изображения , т.е carousel не запускается автоматически , в Chrome работает при начальной загрузке , а если переходить на страницу по Link , то та же самая история . При перезагрузке страницы , вновь работает. Может кто использовал , и поделится опытом ??? Все настройки делал соглассно документации сайта Tailwind Component.
Поиски проблемы в интернете не дали результата.
Заранее спасибо.
А это ? Не помогает ??? https://laravel.com/docs/9.x
Когда я использовал parent_id, запрос пытался найти menu_id и выдавал ошибку
Я находил готовые примеры в инете , где пишут неограниченный уровень вложенности. Делал так как описано в примерах , но была та же проблема , 3 уровня . Как то так.
Миграции , только создают таблицу в базе данных , и никакого отношения к запросам не имеют.
Нет , миграции не обязательно.
Как всегда множество ответов и пожеланий.
Вроде как я ступил,все работает . Но почему не работало , я так и не понял.
Всем спасибо за помощь.
Привет всем ! Даже не знаю с чего начать . Нашел в инете библиотеку Laravel Inertia JS , посмотрел пару видеоуроков , вроде ничего . Но стoлкнулся с такой проблемой , нигде в инете не нашел инфу об абсолютном пути к файлу в Inertia , например имеется использование имя роута есть,
<Link :href="route('index')" >
Route Link
</Link>
а вот тоже самое , но использование asset,как в шаблонах Laravel не предусмотрено:
<Link :href="asset('/index')" >
Route Link
</Link>
Заинстаилоровал @codinglabs/laravel asset . Но эта беда не работает например в такой связке .
<Link :href="route('index')">
<img :src="asset('/icons/logo.png')">
</Link>
Может кто использовал Laravel Inertia ? И поделится своим опытом??? Заранее благодарен .
php artisan config:cache
Помогло
Странно , но мне тоже.
Добавил в updated вызов функции getProducts(), все работает.
updated(){
this.getProducts();
}
Не знаю насколько это криво , критика воспринимается. Так как всегда прислушиваюсь к советам бывалых.
Еще раз , спасибо.
P.S все таки криво , теперь когда открываю DevTools и Vue в консоли куча ошибок. Нужно разбираться.
Еще раз прошу помощи.
Привет всем . Я конечно понимаю , что это вопрос не по Laravel , a Vue JS , но все равно решил обратиться за помощью . Столкнулся со странным явлением . Я понимаю , что я делаю что то не так не так , но пока не могу понять что.
Постараюсь коротко , на форме имеется sidebar-Департмент, в котором прописаны динамические ссылки
<router-link class="d-flex justify-content-between"
v-b-toggle="`category${category.id}`"
:to="{name:'ProductIndex',
params:{department:department.uri,dep_id:department.id,
category:category.uri,cat_id:category.id,
subcategory:subcategory.uri,subcat_id:subcategory.id
}}">
{{ subcategory.name }}
<b-icon class="mx-1" icon="chevron-right"></b-icon>
</router-link>
export default {
data() {
return {
products: [],
}
},
created() {
this.getProducts();
},
computed: {
myFunction: function() {
this.getProducts();
}
},
methods: {
getProducts() {
this.axios.post(`${this.$route.path}`)
.then(response => {
this.products = response.data;
});
}
}
}//end export
И вот , что интерессно . Если я перезагружаю страницу и кликаю на какую нибудь ссылку в sidebar , срабатывает при первом клике , а затем данные не обновляются. Но когда я нажимаю F12 и открываю вкладку Vue , где просмативаю все компоненты , то все работает нормально , при клике на sidebar все данные обновляются . Но как только закрываю DevTools , все перестает работать. После перезагрузки страницы F5 срабатывает только первый раз. Но как открываю DevTools-Vue, все работает.
Подскажите в чем проблема . В документацию Vue заходил , но пока моего ума не хватает разобраться. Заранее спасибо.
как в админке изменить пароль пользователя
А как насчет защиты пользовательских данных?
Я прошу прощения - не разобрался, как удалить эту тему здесь. Вопрос решился это была по видимому запара ларавел.
Да нет, это скорее Ваша запара. Во дном месте page , а в другом pages .
Всю голову поламал как это можно сделать. Help me please
Один из вариантов нормализовать базу данных . Создать таблицу событий и в нее добавить поле user_id и связь один ко многим . Как то так наверное.
Подскажите, что я делаю не так и как можно реализовать редирект?
Если честно , я не понял какой велосипед Вы пытаетесь построить , но на этом же форуме в разделе Документация , почитайте раздел Аунтефикация. Ссылка ,если чО. https://laravel.ru/docs/v5/authentication
Запустите команду
php artisan route:list
И Вы увидете все маршруты, и где они находятся.
С этой проблемой разобрался , всем Спасибо.
Привет всем , не сочтите за рекламу , но после некоторых поисков нашел на github админку. Но застрял в одном месте . А именно каскадные списки. Перепробовал множество вариантов . Может моего ума не хватает , поэтому прошу помощи. Может кто уже использовал эту прогу . Мне нужно например в выпадающем списке при выборе department чтобы выбирались соответсвующие категории . Имеются 2 таблицы departments и categories в таблице categories присутствует поле department_id . Пример находится здесь. :
https://laravel-admin.org/docs/en/model … g%20select
Заранее благодарен откликнувшемся.
P.S только если можно обьяснить для тех кто в танке .
Вот мои потуги :
Маршрут
Route::resource('/admin/departments-categories',DepartmentCategoryController::class);
Контроллер:(по логике если аргумент Request я выбрал функцию метод Store)
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Category;
class DepartmentCategoryController extends Controller
{
public function store(Request $request)
{
$department_id = $request->get('q');
return Category::departments_categories()->where('parent_id', $department_id)->get(['id', DB::raw('name as text')]);
}
}
Нашел функцию Load:
public function load($field, $sourceUrl, $idField = 'id', $textField = 'text', bool $allowClear = true){
if(Str::contains($field, '.')){
$field = $this->formatName($field);
$class = str_replace(['[', ']'], '_', $field);
} else{
$class = $field;
}
$placeholder = json_encode([
'id' => '',
'text' => trans('admin.choose'),
]);
$strAllowClear = var_export($allowClear, true);
$script = <<<EOT
$(document).off('change', "{$this->getElementClassSelector()}");
$(document).on('change', "{$this->getElementClassSelector()}", function () {
var target = $(this).closest('.fields-group').find(".$class");
$.get("$sourceUrl",{q : this.value}, function (data) {
target.find("option").remove();
$(target).select2({
placeholder: $placeholder,
allowClear: $strAllowClear,
data: $.map(data, function (d) {
d.id = d.$idField;
d.text = d.$textField;
return d;
})
});
if (target.data('value')) {
$(target).val(target.data('value'));
}
$(target).trigger('change');
});
});
EOT;
Admin::script($script);
return $this;
}
Ну и моя форма :
$form->select('department_id','Select Department')
->options(Department::orderBy('name')->pluck('name','id'))->default( function()
{
$department = Product::latest()->first();
return($department->department_id);
})->load('departments_categories','/admin/departments-categories');
$form->select('departments_categories');
Теоретически , вроде как должно работать. Но увы . Как говорил Жванецкий , у них работает , а у меня два часа на пару , и не работает .
Если я не ошибаюсь , то ранее была пагинация Bootstrap по умолчанию , а теперь Tailwind вроде как . Попробуйте в AppServiceProvider прописать
public function boot(){
Paginator::useBootstrap();
}
ну хотя бы посмотрите что за ошибкиу меня под вин на OpenServer все ставится без проблем
Там в тегах кода все отображается , пришлось вручную устанавливать, chokidar, pooper,urix , bootstrap 4.6 .
Единственное , что не поборол , так это <<SKIPPING OPTIONAL DEPENDENCY>> . Нашел в инете совет прописать в файле package.json <<"optionalDependencies": []>> , но предупреждения все равно выскакивают.
Я уже написал , у меня версия OpenServer 5.3.8 PHP 8 , node 14.15.4 . Попробуйте создать новый проэкт laravel , ставится версия 8.26.1 , и установить ui vue , а затем запустить npm install i npm run dev . Что то я не поверю , что не будет никаких error и предупреждений . Может я все таки что то не так делаю ???
node и npm надо ставить отдельно
С этим тоже вроде как разобрался , нашел в мануале , создать файл path.txt и прописать там путь к node. Сейчас все нормально.
Запустил npm run watch файлы компилировались и в папке public появились папки js и css .
Спасибо что откликнулись.
Offtopic:
Вообщем , как я и предполагал , дело не в папках. Я установил PHP 7.4 и Laravel 7.3.1 , если не ошибаюсь. Не скажу , что все прошло гладко , команда <<composer require laravel/ui>> не прокатила , пишет , что версия 3,2 не может быть установлена , и нужно менять установки в composer.json . Туда я не полез , а запустил << npm install и npm run dev >> . Обе команды прокатили с ошибками , которых я тоже не читал , но в папку public папки css и js добавились. Вообщем как всегда проблема с совместимостью.
А теперь возникает вопрос , я ставлю PHP 8 и Laravel 8 с ноля , и как мне теперь устанавливать всякие там laravel/ui , и тому подобное . Особенно , если я начинающий , и только изучаю. Как всегда танцы с бубном ?????
А в мануале для 8 версии Laravel все красиво написано , но не работает . И как теперь быть ???
P.S И что интересно , создаю проэкт таким макаром , <<composer create-project laravel/laravel myproject v8.0>>
Устанавливается все равно 8.26.1
Вот , как то так.
сервера в интернетах работают почти исключительно под linux. зачем учить два разных способа делать одно и то же?
Я поставил OpenServer , там такая же петрушка , а npm -v и node -v вообще не распознаются и npm install не прокатывает , пишет , не найден модуль.
Не ставить же мне Linux
может быть твоя папка public имеет неправильного владельца и права доступа не позволяют создать в ней что-то.подобные проблемы часто случаются когда злоупотребляют командами из-под административного аккаунта.
Как всегда спасибо , за то что откликнулись. Скажу , что ранее такой проблемы не наблюдалесь. Сейчас я попробую снести XAMPP с PHP 8 , ио установить с 7.4 , а так же уставивить Laravel более ранней версии . На скрине видно , что он еще просит некоторых зависимостей типа pooper 2 и так далее . Я пока вручную не устанавливал , но странно , что папки не создаются. Буду эксперементировать. Я думал , может кто сталкивался с подобным. Правду говорят , не нужно спешить ставить обновления.