Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Валидация через класс реквеста в бест практис, а так можно как хочешь валидировать, способов много
Валидация в своем, допустим, ArticleRequest наследнике обычного Request, тогда в store(ArticleRequest $request) будет, а модель автоматом заполняется только в некоторых случаях, когда данные из базы берутся, типа отображение страницы с редактируемой статьей.
Отредактировал выше. И правильно сказали create() - отображать должен форму, а store(Request $request) сохранять данные. И введенные данные нужно проверять и корректировать, поэтому так не нужно делать, это усложнение.
Зачем это делать? Чтобы не писать
public function store(Request $request, Article $article)
{
$article->fill($request->input());
?
потому что uri одинаковый get 'users/{something}' у show и confirm
Там по ссылке снизу Installation - установка. Пункт 2
По идее ответ надо ловить перед curl_close. Вот тут у тебя что получается? $res=curl_exec($ch)
а вообще посмотри еще guzzle - http client
почему бы в function webhook(Request $request) не написать dd($request);
и посмотреть есть ли данные или проблема в записи файла?
В vendor/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php есть
Paginator::currentPathResolver(function () {
return $this->app['request']->url();
});
Этот ->url() определен в vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php
protected function registerUrlGenerator()
{
$this->app->singleton('url', function ($app) {
$routes = $app['router']->getRoutes();
// The URL generator needs the route collection that exists on the router.
// Keep in mind this is an object, so we're passing by references here
// and all the registered routes will be available to the generator.
$app->instance('routes', $routes);
$url = new UrlGenerator(
$routes, $app->rebinding(
'request', $this->requestRebinder()
)
);
$url->setSessionResolver(function () {
return $this->app['session'];
});
// If the route collection is "rebound", for example, when the routes stay
// cached for the application, we will need to rebind the routes on the
// URL generator instance so it has the latest version of the routes.
$app->rebinding('routes', function ($app, $routes) {
$app['url']->setRoutes($routes);
});
return $url;
});
}
а дальше сам смотри, я застрял
Там в доке по ссылке в комментах написано переопределить метод url() чтобы он формировал нужный адрес
одинарные фигурные скобки в шаблоне не ошибка?
в SiteController@index у тебя выводится view('welcome') то есть resources\views\welcome.blade.php - смотри его содержимое, оно наверняка не поменялось. А может просто не на тот проект заходишь из-за невнимательности
почему не добавить поле занята машина или нет?
Наоборот, оставляешь только стандартную регистрацию, а в процессе проверяешь и логинишь
У меня есть категории и статьи (вместо портфолио), таблица с категориями отдельно, в таблице статей внешний ключ на id таблицы категорий. Один ко многим.
Это из миграции change_articles_table:
$table->integer('category_id')->unsigned()->default(1);
$table->foreign('category_id')->references('id')->on('categories');
Это из модели Article
public function category(){
return $this->belongsTo('App\Category');
}
Это из модели категорий:
public function articles(){
return $this->hasMany('App\Article');
}
может как необязательный параметр с инициализацией типа
public function __construct(Shop $shop, Page $page = something)
В исходном коде посмотри пути по ctrl+U в хроме, сравни в рабочем варианте и в нерабочем
<link rel="icon" type="image/x-icon" href="http://corporate:44443/pink/images/favicon.ico" />
И сравни как точка входа настроена, через .htaccess или в openserver в настройках доменов
Пути к картинкам, css и js прописывать так примерно
script type="text/javascript" src="{{asset(env('THEME'))}}/js/jquery.js"
короче через хелпер asset()
Что-то по типу такого. И работать лучше с моделями,а не с фасадом DB
$article = Article::find($data['id']);
$article->name = $data['name'];
$article->img = $data['img'];
$article->text = $data['text'];
$user->articles()->save($article);
Я если честно сам только сегодня тему с аяксом и ларавель начал проходить/ Вот тут глянь, правда тут немного посложнее:
https://www.youtube.com/watch?v=tRcUybG … o2ldxWWtJR
или вот твоя переделанная у меня работает
<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="all" href="{{asset('css')}}/app.css" />
<title>Форум</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Raleway', sans-serif;
font-weight: 100;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 12px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
{{--<script type="text/javascript" src="/js/jquery-3.2.1.min.js"></script>--}}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
<a href="{{ route('register') }}">Register</a>
@endauth
</div>
@endif
<div class="content">
<form id="contactform" method="POST" >
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="_method" value="POST">
<input type="text" name="username" placeholder="Введите ник" required />
<input type="text" name="text" placeholder="Введите сообщение" required />
<button type="submit">Отправить</button>
</form>
@foreach ($users as $user)
{{ $user->text }}
@endforeach
</div>
</div>
<script>
$(document).ready(function(){
$('#contactform').on('submit', function(e){
e.preventDefault();
$.ajax({
type: 'POST',
url: '/sendmail',
data: $('#contactform').serialize(),
success: function(result){
console.log(result);
}
});
});
});
</script>
</body>
</html>
Короче в полном коде вьюхи не вижу теперь подключения твоего скрипта. Попробуй мою вью я там еще с токеном строку переделал, там что-то другое вылезало:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<form id="contactform" method="POST" >
{{--<input type="hidden" name="_token" value="{{ csrf_token() }}">--}}
{{csrf_field()}}
<input type="hidden" name="_method" value="POST">
<input type="text" name="username" placeholder="Введите ник" required />
<input type="text" name="text" placeholder="Введите сообщение" required />
<button type="submit">Отправить</button>
</form>
@foreach ($users as $user)
{{ $user->text }}
@endforeach
<script>
$(document).ready(function(){
$('#contactform').on('submit', function(e){
e.preventDefault();
$.ajax({
type: 'POST',
url: '/sendmail',
data: $('#contactform').serialize(),
success: function(result){
console.log(result);
}
});
});
});
</script>
у тебя jquery не подключен наверно, только версию сам выбирай
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
Не нашел такой метод в доке - я ->with('users', $articles) использую
->withUsers() это что за метод?
Страницы 1