laravel/breeze v1.20.1
vite: 4.2.1
laravel-vite-plugin: 0.7.4
vite-plugin-full-reload: 1.0.5
@vitejs/plugin-vue: 4.1.0
// vite.config.js
export default defineConfig({
plugins: [
laravel({
input: 'resources/js/app.js',
// refresh: true,
refresh: [],
}),
...
x/{p1?}/{p2?}
- не делает p1 необязательным даже если обработчик function($p1=1, $p2=2)
`Route::middleware(['web','default_locale'])->prefix('/{language?}')
middleware не выполнится пока не будет указан language. // config/filesystems.php
'disks' => [
'temp' =>[
'driver'=>'local',
'root'=>sys_get_temp_dir()
],
dd(\Illuminate\Support\Facades\Storage::disk('temp')->listContents());
// это для формирования верного url через хелпер
public function getRouteKey()
{
return "{$this->id}-{$this->slug}";
}
public function resolveRouteBinding($value)
{
$keys = explode('-', $value);
return Watch::where(['id'=>$keys[0], 'slug'=>$keys[1]])
}
Route::get('/watch/{fullSlug}', 'WatchController@get');
public function get(Watch $fullSlug)
{
// fullSlug обязательно существует или 404 ещё до входа в контроллер
}
App\Question::orderByRaw("FIELD(status,'Без ответа,'Скрыт')")->get();
придётся перечислить все возможные статусы 'Без ответа,'Скрыт' и так далее - иначе фокус не удастся. public function firstOrNew(array $attributes, array $values = [])
{
if (! is_null($instance = $this->where($attributes)->first())) {
return $instance;
}
// return $this->newModelInstance($attributes + $values);
// create new logic
DB::insert('insert into table (id) values (?)', [100500]);
return $this->find(100500)
}
public function showRegistrationForm()
{
return view('PATH.TO.YOURS.VIEW');
}
$produkts = App\Produkts::with(['color', 'weight', 'growth'])->get();