Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#26 Laravel 6/7/8/9/10/11 » Laravel + Inertia JS + Vue3 JS » 22.05.2022 11:29:20

DzonyBB
Ответов: 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 ? И поделится своим опытом??? Заранее благодарен . smile

#29 Re: Laravel 6/7/8/9/10/11 » Laravel - Vue - Sidebar » 19.01.2022 10:16:28

Добавил в updated вызов функции getProducts(), все работает.

 
updated(){

this.getProducts();

}

Не знаю насколько это криво , критика воспринимается. Так как всегда прислушиваюсь к советам бывалых. smile
Еще раз , спасибо.

P.S все таки криво , теперь когда открываю DevTools и Vue в консоли куча ошибок. Нужно разбираться.
Еще раз прошу помощи. smile

#30 Laravel 6/7/8/9/10/11 » Laravel - Vue - Sidebar » 19.01.2022 09:18:49

DzonyBB
Ответов: 3

Привет всем . Я конечно понимаю , что это вопрос не по 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 заходил , но пока моего ума не хватает разобраться. Заранее спасибо.

#31 Re: Laravel 6/7/8/9/10/11 » Изменение пароля пользователя в админке » 13.10.2021 19:11:10

как в админке изменить пароль пользователя

  А как насчет защиты пользовательских данных? smile

#32 Re: Laravel 6/7/8/9/10/11 » Создание динамических роутов » 04.10.2021 16:34:56

Я прошу прощения - не разобрался, как удалить эту тему здесь. Вопрос решился это была по видимому запара ларавел.

  Да нет, это скорее Ваша запара. Во дном месте page , а в другом pages .

#33 Re: Laravel 6/7/8/9/10/11 » Help! с выводом информации » 12.08.2021 08:10:15

Всю голову поламал как это можно сделать. Help me please

  Один из вариантов нормализовать базу данных . Создать таблицу событий и в нее добавить поле user_id и связь один ко многим . Как то так наверное.

#34 Re: Laravel 6/7/8/9/10/11 » Не могу организовать редирект » 02.07.2021 18:09:52

Подскажите, что я делаю не так и как можно реализовать редирект?

  Если честно , я не понял какой велосипед Вы пытаетесь построить , но на этом же форуме в разделе Документация , почитайте раздел Аунтефикация. Ссылка ,если чО. https://laravel.ru/docs/v5/authentication

#35 Re: Laravel 6/7/8/9/10/11 » Маршрутизация работает без файлов web.php и api.php » 01.05.2021 23:35:59

Запустите команду

php artisan route:list 

И Вы увидете все маршруты, и где они находятся.

#36 Re: Laravel 6/7/8/9/10/11 » Encore laravel-admin » 20.02.2021 16:33:52

С этой проблемой разобрался , всем Спасибо.

#37 Laravel 6/7/8/9/10/11 » Encore laravel-admin » 20.02.2021 02:25:21

DzonyBB
Ответов: 1

Привет всем , не сочтите за рекламу , но после некоторых поисков нашел на 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');

Теоретически , вроде как должно работать. Но увы . Как говорил Жванецкий , у них работает , а у меня два часа на пару , и не работает . roll

#38 Re: Laravel 6/7/8/9/10/11 » Пагинация » 19.02.2021 14:12:12

Если я не ошибаюсь , то ранее была пагинация Bootstrap по умолчанию , а теперь Tailwind вроде как . Попробуйте в AppServiceProvider прописать

	
	public function boot(){
		
	  Paginator::useBootstrap();

	}

https://laravel.com/docs/8.x/releases#t … tion-views

#39 Re: Laravel 6/7/8/9/10/11 » Laravel 8.26.1 vue » 06.02.2021 17:02:21

ну хотя бы посмотрите что за ошибкиу меня под вин на 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 .
Спасибо что откликнулись.

#40 Re: Laravel 6/7/8/9/10/11 » Laravel 8.26.1 vue » 05.02.2021 18:55:54

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 roll
Вот , как то так.

сервера в интернетах работают почти исключительно под linux. зачем учить два разных способа делать одно и то же?

Я поставил OpenServer , там такая же петрушка , а npm -v и node -v вообще не распознаются и npm install не прокатывает , пишет , не найден модуль.
  Не ставить же мне Linux roll

#41 Re: Laravel 6/7/8/9/10/11 » Laravel 8.26.1 vue » 05.02.2021 09:37:29

может быть твоя папка public имеет неправильного владельца и права доступа не позволяют создать в ней что-то.подобные проблемы часто случаются когда злоупотребляют командами из-под административного аккаунта.

  Как всегда спасибо , за то что откликнулись. Скажу , что ранее такой проблемы не наблюдалесь. Сейчас я попробую снести XAMPP с PHP 8 , ио установить с 7.4 , а так же уставивить Laravel более ранней версии . На скрине видно , что он еще просит некоторых зависимостей типа pooper 2 и так далее . Я пока вручную не устанавливал , но странно , что папки не создаются. Буду эксперементировать. Я думал , может кто сталкивался с подобным. Правду говорят , не нужно спешить ставить обновления. smile

#42 Laravel 6/7/8/9/10/11 » Laravel 8.26.1 vue » 04.02.2021 13:28:07

DzonyBB
Ответов: 5

Добрый день , подскажите кто и как борется с этой проблемой. Windows XAMPP xampp-windows-x64-8.0.1-1-VS16 , Node JS - 14.15.4
1.composer create-project --prefer-dist laravel/laravel laravel - последняя версия 8.26.1
2.composer require laravel/ui
3.php artisan ui vue --auth
4.npm install
5.npm run dev
6.php artisan vendor:publish
И вот тут начинаются чудеса . В папке public папки css и js не создаются , апосле команд npm run dev и (или)npm run watch выдается куча ошибок , например .

 PS C:\openserver\domains\laravel> npm run watch

> @ watch C:\openserver\domains\laravel
> mix watch

[webpack-cli] TypeError: The 'compilation' argument must be an instance of Compilation
    at Function.getCompilationHooks (C:\openserver\domains\laravel\node_modules\webpack\lib\NormalModule.js:179:10)
    at C:\openserver\domains\laravel\node_modules\vue-loader\lib\plugin-webpack5.js:36:70
    at Hook.eval [as call] (eval at create (C:\OpenServer\domains\laravel\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:202:1)
    at Hook.CALL_DELEGATE [as _call] (C:\OpenServer\domains\laravel\node_modules\tapable\lib\Hook.js:14:14)
    at Compiler.newCompilation (C:\OpenServer\domains\laravel\node_modules\webpack\lib\Compiler.js:993:26)
    at C:\OpenServer\domains\laravel\node_modules\webpack\lib\Compiler.js:1035:29
    at Hook.eval [as callAsync] (eval at create (C:\OpenServer\domains\laravel\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:22:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\OpenServer\domains\laravel\node_modules\tapable\lib\Hook.js:18:14)
    at Compiler.compile (C:\OpenServer\domains\laravel\node_modules\webpack\lib\Compiler.js:1030:28)
    at C:\OpenServer\domains\laravel\node_modules\webpack\lib\Watching.js:112:19
    at Hook.eval [as callAsync] (eval at create (C:\OpenServer\domains\laravel\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:22:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\OpenServer\domains\laravel\node_modules\tapable\lib\Hook.js:18:14)
    at run (C:\OpenServer\domains\laravel\node_modules\webpack\lib\Watching.js:66:33)
    at Watching._go (C:\OpenServer\domains\laravel\node_modules\webpack\lib\Watching.js:123:4)
    at C:\OpenServer\domains\laravel\node_modules\webpack\lib\Watching.js:57:9
    at Compiler.readRecords (C:\OpenServer\domains\laravel\node_modules\webpack\lib\Compiler.js:871:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ watch: `mix watch`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @ watch script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Volodia\AppData\Roaming\npm-cache\_logs\2021-02-04T10_12_10_999Z-debug.log
PS C:\openserver\domains\laravel> npm -v
6.14.10
PS C:\openserver\domains\laravel> node -v
v14.15.4
PS C:\openserver\domains\laravel>

  В интернете пока информации не нашел.
А вот что после npm install

  PS C:\openserver\domains\laravel> npm install
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated urix@0.1.0: Please see [url]https://github.com/lydell/urix#deprecated[/url]
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated @types/browserslist@4.15.0: This is a stub types definition. browserslist provides its own type definitions, so you do not need this installed.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated resolve-url@0.2.1: [url]https://github.com/lydell/resolve-url#deprecated[/url]
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\@types\browser-sync\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 1184 packages from 531 contributors and audited 1188 packages in 54.018s

89 packages are looking for funding
  run `npm fund` for details

found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

#43 Re: Laravel 6/7/8/9/10/11 » Загрузка картинок с другого сайта » 22.12.2020 19:54:39

Сделал так. Загружает . Всем спасибо

	if(isset($request->url_upload)){
			
	$url = $request->file_name;
			
	$file_extension = pathinfo($url)['extension'];
	$file_name=$date . '.' . $file_extension;
			
	$file = file_get_contents($url);
		    
	Storage::put($file_name, $file);
					
}

#44 Re: Laravel 5.x » Странное поведение маршрутов(route) в Laravel » 14.12.2020 13:36:12

Ресурс-контроллеры обрабатывают запросы согласно стандартам http.Существует несколько способов обращения к одному и тому же адресу: get, post, put и deleteМетод route просто подставляет урл в тэг <a> при этом он ничего не говорит о способе, которым делается запрос, поэтому код <a href=> для show и delete будет идентичный - через get ипоэтому обработается методом show

  Спасибо за ответ , уже разобрался , сделал через форму ,

<form method="POST" action="{{route('blogs.destroy',['blog'=>45677])}}">
@csrf
<button  type="submit" class="btn btn-success" name="delete" value="delete">Delete</button>
@method('DELETE')
</form>

#45 Re: Laravel 6/7/8/9/10/11 » Привязка контроллера ресурса » 14.12.2020 09:15:04

посмотрите внимательнее на route:listтам помимо маршрута указан метод.для show - get, для destroy - delete, а сам url одинаковый, т.е. разница только в методе запроса. т.к. a href - это get метод, то и вызывается show в контроллере

  Спасибо за ответ , уже разобрался . Сделал через форму

<div> 
<form method="POST" action="{{route('blogs.destroy',['blog'=>45677])}}">
@csrf
<button  type="submit" class="btn btn-success" name="delete" value="delete">Delete</button>
@method('DELETE')
</form>	
</div>

Еще раз спасибо , что откликнулись. smile

#46 Laravel 6/7/8/9/10/11 » Привязка контроллера ресурса » 13.12.2020 23:14:52

DzonyBB
Ответов: 2

Всем привет . Решил таки продолжить эту тему . Столкнулся со странным поведением маршрутов . Попробую по порядку , читая документацию и книШки о прелестях Laravel решил воспользоваться этими прелестями .

создал контроллер в artisan

php artisan make:controleer TestController --resource

Контроллер создается , проблем нет . Теперь создаем маршруты .

Route::resource('tests', TestController::class);

запускаем команду

php artisan route:list

Список маршрутов отображается согласно документации .
А вот теперь начинается самое интересное.
Создаю на кнопку или ссылку с указанием имени маршрута например

<a href="{{route('tests.show',['test'=>10])}}">Test Show</a>

в контроллере функция show() срабатывает
А если создаю

<a href="{{route('tests.destroy',['test'=>10])}}">Test Destroy</a>

То все равно срабатывает ссылка Test Show, т.е в контроллере срабатывает функция show() .
Вопрос- Что я делаю не так ???
Спасибо .

#47 Re: Laravel 5.x » Странное поведение маршрутов(route) в Laravel » 13.12.2020 23:12:53

Всем привет . Решил таки продолжить эту тему . Столкнулся со странным поведением маршрутов . Попробую по порядку , читая документацию и книШки о прелестях Laravel решил воспользоваться этими прелестями .

создал контроллер в artisan

php artisan make:controleer TestController --resource

Контроллер создается , проблем нет . Теперь создаем маршруты .

Route::resource('tests', TestController::class);

запускаем команду

php artisan route:list

Список маршрутов отображается согласно документации .
А вот теперь начинается самое интересное.
Создаю на кнопку или ссылку с указанием имени маршрута например

<a href="{{route('tests.show',['test'=>10])}}">Test Show</a>

в контроллере функция show() срабатывает
А если создаю

<a href="{{route('tests.destroy',['test'=>10])}}">Test Destroy</a>

То все равно срабатывает ссылка Test Show, т.е в контроллере срабатывает функция show() .
Вопрос- Что я делаю не так ???
Спасибо .

#48 Re: Laravel 6/7/8/9/10/11 » Загрузка картинок с другого сайта » 13.12.2020 22:55:07

Можете влипить взаимный.

  Я такой муйней не занимаюсь. smile

#49 Re: Laravel 6/7/8/9/10/11 » Загрузка картинок с другого сайта » 10.12.2020 15:25:33

Так вы деталей н каких не привели. Конечно ни кто не будет тут гадать что вы хотите сделать.
Я вообще из того что привели, понял что вы в какое то апи хотите загрузить картинку по урлу.

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

пользователь может загрузить фотографию через API, указав URL-адрес фотографии

И вот я так же ломаю голову над этой фразой , поэтому и обратился за помощью .
  Кстати , я попробовал зайти на сайт с фотографиями открыл фото , скопировал вручную ссылку (URL) , вставил в диалоговое окно формы , и он загрузил фото по ссылке на сервер . Но для меня остается непонятным смысл этой фразы. Если я правильно понял , то необходимо использовать какую-нибудь стороннюю программу , т.е интегрировать ее в проэкт Laravel . Но поиски в goolge пока не дали результатов.  Вот , как то так. Еще раз спасибо , что откликнулись.  hmm
P.S И тут я вижу на форуме ставят плюсики , а сейчас смотрю и минусики , но странно , почему такие спецы не комментируют свои действия , а предпочитают оставаться в тени . Наводит на некоторые мысли , хотя лично мне , мнение таких критиков глубоко по ........ lol

#50 Re: Laravel 6/7/8/9/10/11 » Загрузка картинок с другого сайта » 09.12.2020 19:54:33

Подробнее должно быть написано в доке к апи

   Спасибо конечно , но я понял , что я ничего не понял. В книге Стаффера  Laravel описаны только маршруты и фильтрация , что практически не дает никакой информации. Ну еще авторизация . А здесь как всегда все молчат , делая вид , что вопрос не достоин их внимания. Ладно , как говорил Никулин , будем искать . sad

Подвал раздела