PHP

Заметки по laravel

Как создать нового пользователя в Laravel если забыли логин и пароль но есть доступ к FTP или SSH?

1 Если у вас есть доступ к FTP:

1. В файле \app\Http\routes.php добавьте код:

Route::get('/test', 'TestController@addNewUser');

2. В файле \app\Http\Controllers\TestController.php добавьте код:

class TestController extends Controller
	{
	...
		/**
		 * Добавить новго пользователя
		 */
		public function addNewUser()
		{
			$user = new User();
			$user->name = 'test user name';
			$user->email = 'test@test.ru';
			$user->password = \Hash::make('my_password');
			//$user->role = 'admin'; 
			$user->save();
			dd('Успех');
		}
	...
	}

3. После этого перейдя по адресу URL //mydomain.ru/test создастся новый пользователь

2 Если у вас есть доступ к консоли SSH:

1. Перейдите в корень проекта
2. Введите в консоли последовательно:

php artisan tinker
		$u = new \App\User();
		$u->name = 'test user name';
		$u->email = 'test@test.ru';
		$u->password = \Hash::make('my_password');
		$u->role = 'admin'
		$u->save();

3. если консоль ответит true значит создался новый пользователь с указанными данными

p.s. ларавел по умолчанию использует Bcrypt, можно воспользоваться ресурсом: https://bcrypt-generator.com/

Как создать консольную команду в Laravel:

2019.08.18

1. В директории {mySite}\app\Console\Commands создать файл "MyCommand.php:

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Contracts\Bus\SelfHandling;

class MyCommand extends Command implements SelfHandling
{
	protected $signature = 'make:my_command {date_from} {date_to}'; 
	protected $description = 'Мое описание';
	public $date_from = '';
	public $date_to = '';
	/**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
	    parent::__construct();
    }

    /**
     * Execute the command.
     *
     * @return void
     */
    public function handle()
    {
	    dump('run command OK');
    }
}

2. В файле "{mySite}\app\Console\Kernel.php" добавить строку:

protected $commands = [
	...
	\App\Console\Commands\MyCommand::class,
];

3. В консоли наберите:

php artisan make:my_command 2019.01.01 2019.02.02

Сортировка по полю, с параметром возрастание/убывание:

пример с пагинацией:

$posts = Post::orderBy('posts.created_at','desc')->paginate(20);

htaccess редирект на папку public:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

редирект с ip адреса на домен:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^147\.78\.67\.252
RewriteRule (.*) https://bestwaypractice.ru/$1 [R=301,L]

Как загрузить Excel файл в Laravel?

use Maatwebsite\Excel\Facades\Excel;
//Внимание , может не работать если у файла только одна вкладка.
Excel::load($fileName, function ($reader) {
	$results = $reader->toArray();
	foreach ($results[0] as $result) {
		$country = trim((string)$result['country']);
		
		$regionObj = $fiasRegionModel::where('country', $country)->where('title', $region)->first();
		if (!$regionObj) {
			$regionObj = new $fiasRegionModel();
			$regionObj->country = $country;
			$regionObj->title = $region;
			$regionObj->save();
			$region_voc[$region] = $regionObj->id;
			$region_id = $regionObj->id;
		} else {
			$region_id = $regionObj->id;
		}
					
	}
}

Leave a reply