Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395

Laravel не проходит запрос

14.09.2018, 09:40. Показов 2508. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите почему ен проходит такой запрос на создание новой записи?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
   $userInBase = User::where('email', $$request->email)->first();
            if ($userInBase){
                $user = User::create(['email' => $request->email, 'name' => $request->email, 'role_id' => 2]);
                if ($user)
                {
                    $attributes = UsersAttributes::create(['user_id' => $user->id, 'phone' => $request->phone, 'username' => $request->name]);
                    if ($attributes)
                    {
                        return 'ok';
                    }
                }
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2018, 09:40
Ответы с готовыми решениями:

Laravel 5 запрос
Добрый день. Надо сделать запрос SELECT * FROM users WHERE priceid IN ( SELECT priceid FROM items)...

Laravel и пост запрос
пытаюсь поймать контроллер public function orderProducts() { $connect=false; $request = new Request;...

Почему не отправляется sql запрос Laravel 5?
при попытке послать простой sql запрос <?php if ($validation->fails()) { echo "не заполнено поле"; }else{ ...

14
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
14.09.2018, 09:51
Цитата Сообщение от Radioaktiv Посмотреть сообщение
$$request->email
Это что?
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 10:08  [ТС]
это я тоже исправил, но все ровно не проходит запрос на create
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
14.09.2018, 10:17
Тогда вот: http://phpfaq.ru/debug

Добавлено через 57 секунд
И не надо вот эти
PHP
1
if ($user)
использовать.

Есть транзакции.
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 10:28  [ТС]
если убрать эти проверки все ровно так не добавляет

Добавлено через 7 минут
может не подключил что-то ?

PHP
1
2
3
4
5
6
7
8
9
10
<?php
 
namespace App\Http\Controllers;
 
use App\User;
use App\UsersAttributes;
use App\UserSubjects;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
14.09.2018, 10:30
Лучший ответ Сообщение было отмечено Radioaktiv как решение

Решение

Я не сказал, что проблема в проверках. Они не нужны, когда есть транзакции.
Это не по теме, просто подсказка.

Добавлено через 39 секунд
Ссылку выше посмотрите. Отлаживать надо, гадать смысла нет.
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 10:43  [ТС]
сделал вот так
PHP
1
$usercreate = User::create(['name' => $request->email, 'email' => $request->email]);
в моделе User

PHP
1
protected $guarded = ['id'];
и как бы все ровно, хотя request выводит данные
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
14.09.2018, 10:44
Если юзер с таким емейлом есть то будет создана новая запись. Зачем? Обычно наоборот делается.
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 10:47  [ТС]
ночью писал, потом половино исправил, вот на текущий момент


PHP
1
2
3
4
5
6
$userInBase = User::where('email', $request->email)->first();
        if (! $userInBase){
            $usercreate = User::create(['name' => $request->email, 'email' => $request->email]);
            return $usercreate;
 
        }else return 'Вы уже подали заявку';
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
14.09.2018, 10:51
Аттрибут $fillable в модели установлен?
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 10:52  [ТС]
PHP
1
2
protected $guarded = ['id'];
protected $fillable = ['name', 'email'];
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
14.09.2018, 10:52
Хотя это в данном случае не важно. Странно.
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 10:55  [ТС]
Это контроллер

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
 
namespace App\Http\Controllers;
 
use App\User;
use App\UsersAttributes;
use App\UserSubjects;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
 
class UserController extends Controller
{
    /**
     * Список пользователей для админки.
     *
     * @return \Illuminate\Http\Response
     */
    public function listall()
    {
        //
    }
 
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }
 
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }
 
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show()
    {
        //
        $shoolsubject = DB::table('user_subjects')
            ->join('shool_targets', 'shool_targets.id', '=', 'user_subjects.target')
            ->join('school_subjects', 'school_subjects.id', '=', 'user_subjects.shool')
            ->select('shool_targets.name as st', 'school_subjects.name as ss')
            ->where('user_subjects.user_id', Auth::user()->id)->get();
 
        return view('profile.profile')->with(['profile' => Auth::user(), 'shool' => $shoolsubject->all()]);
    }
 
    /*
     * Заявка на регистрацию преподавателя
     */
    public function teacherRegister(Request $request)
    {
        $userInBase = User::where('email', $request->email)->first();
        if (! $userInBase){
            $usercreate = User::create(['name' => $request->email, 'email' => $request->email]);
            return $usercreate;
 
        }else return 'Вы уже подаяли заявку';
 
    }
 
 
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }
 
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

а вот модель

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
 
namespace App;
 
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Support\Str;
 
class User extends Authenticatable
{
    use Notifiable;
 
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $guarded = ['id'];
    protected $fillable = ['name', 'email'];
 
    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
 
    /**
     * Связь с таблицей информации о пользователе
     * @return $this
     *
     */
    public function attributes()
    {
        return $this->hasOne(UsersAttributes::class);
    }
 
    /**
     * Связь с таблицей отзывы
     * @return $this
     *
     */
    public function review()
    {
        return $this->hasMany(Reviews::class);
    }
 
    /*
     * У одного пользователя несколько предметов: Цель -> Предмет
     */
    public function usersubjects()
    {
        return $this->hasMany(UserSubjects::class);
    }
 
    /**
     * Проверка активации
     * @return $this
     *
     */
    public function confirmed()
    {
        return !! $this->is_confirm;
    }
 
    /**
     * Устанавливаем временный токен для подтверждения регистрации
     * @return $this
     *
     */
    public function getEmailConfirmationToken()
    {
        $this->update([
            'confirmation_token' => $token = Str::random()
        ]);
 
        return $token;
    }
 
    /**
     * Подтверждение аккаунта пользователя
     * @return $this
     *
     */
 
 
    public function confirm()
    {
        $this->update([
            'is_confirm' => true,
            'confirmation_token' => null
        ]);
 
        return $this;
    }
}
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
14.09.2018, 10:56
Лучший ответ Сообщение было отмечено Radioaktiv как решение

Решение

Первый запрос проходит?
1
2 / 2 / 4
Регистрация: 09.10.2015
Сообщений: 395
14.09.2018, 12:04  [ТС]
на поиск? этот да работате
PHP
1
$userInBase = User::where('email', $request->email)->first();
Добавлено через 4 минуты
вот форма

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form class="ajax_form" id="teacherRegister"  enctype="multipart/form-data" action="" method="POST">
                {{ csrf_field() }}
                <div class="modal-content">
                    <div class="modal-header">
                        <h4 class="modal-title"><img src="img/ads-icon.png" alt="">Присоединяйся к команде
                            лучших преподавателей</h4>
                    </div>
                    <div id="msg-form"></div>
                    <div class="modal-body">
                        <input type="text" name="name" value="" placeholder="Имя:">
                        <input type="phone" name="phone" value="" placeholder="Номер телефона:">
                        <input type="email" name="email" value="" placeholder="Ваш e-mail:">
                        <div class="file-upload">
                            <label>
                                <input type="file" name="newresyume" id="resyume" value="">
                                <span>Прикрепите резюму (не обязательо)</span>
                            </label>
                        </div>
                        <button type="submit" class="btn-green">Оставить заявку</button>
                    </div>
                </div>
            </form>
и скрипт

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$('#form-ads .btn-green').click(function(){
        $("#form-ads form").submit(function () {
            var formID = $(this).attr('id');
            // Добавление решётки к имени ID
            var formNm = $('#' + formID);
            $.ajax({
                type: "POST",
                url: '/teacherregister',
                data: formNm.serialize(),
                success: function (data) {
                    // Вывод текста результата отправки
                    $('#form-ads #msg-form').toggleClass('active');
                    $('#form-ads #msg-form').html(data);
                    setTimeout(function(){$('#form-ads #msg-form').removeClass('active')}, 3000);
                },
                error: function (jqXHR, text, error) {
                    // Вывод текста ошибки отправки
                    $('#form-ads #msg-form').toggleClass('active');
                    $('#form-ads #msg-form').html(data);
                    setTimeout(function(){$('#form-ads #msg-form').removeClass('active')}, 3000);
                }
            });
            return false;
        });
    });
Добавлено через 1 минуту
и роут

PHP
1
2
3
Заявка на регистрацию преподавателя
*/
Route::post('/teacherregister', 'UserController@teacherRegister');
Добавлено через 10 минут
вот такой способ добавления работает без проблем, только здесь другая страница

PHP
1
2
3
4
5
6
7
8
        $call = new CallAdds;
        $call->name = $request->name;
        $call->email = $request->email;
        $call->phone = $request->phone;
        $call->save();
        if ($call){
            return 'Ваша заявка принята! Наши специалисты с Вами в скорем времени свяжутся.';
        }
Добавлено через 34 минуты
разобрался

PHP
1
2
protected $guarded = ['id'];
protected $fillable = ['name', 'email', 'password', 'referal'];
HTML5
1
2
$getPassword = Str::random(8);
$usercreate = User::create(['name' => $request->email, 'password' => $getPassword, 'email' => $request->email, 'referal' =>'']);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.09.2018, 12:04
Помогаю со студенческими работами здесь

Laravel post запрос на другой сайт
Хочу через апи вытащить данные с другого сайта(также на laravel). Пробовал через rmccue/requests, guzzle, laracurl отправлять запрос и...

Ajax запрос на нескольких адресах Laravel
Доброго времени суток. Имеется js с ajax кодом $('#btntr').click(function(){ $.ajax({ type:&quot;POST&quot;, ...

Даны 2 запроса. Нужно Если 1 запрос получает результат (проходит) True то выполнить 2 запрос
День добрый. Подскажите как реализовать несложное условие. Даны 2 запроса. Нужно Если 1 запрос получает результат (проходит) True...

запрос не проходит
SELECT * INTO bakup_table FROM table выдает ошибку Undeclared variable: bakup_table В чем проблема?? p.S. bakup_table - уже...

Не проходит запрос
Всем привет, я тут с одним SQL запросом встрял в phpMyAdmin. Он элементарный и вроде как правильно написан, но результат выкидывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru