Привет, я пытаюсь создать генератор кода, чтобы пригласить пользователя из ввода электронной почты, я хочу сохранить в базе данных идентификатор пользователя, который отправляет приглашение, код и письмо, которое собирается получить приглашение, но Я не могу получить идентификатор моего пользователя auth, выполняющего $ request-> user ('id') (не работает), также я знаю, что есть другой способ сделать это проще, чем использовать DB :: table что-то вроде $ request-> пользователь() -> инвайты() -> создать ... мой контроллер выглядитКак проверить и создать на laravel 5.2 на контроллере?
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class invitacionController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index(Request $request)
{
return view('administrar');
}
public function invitacion(Request $request)
{
$this->validate($request, [
'email' => 'required|email|max:255|unique:invites',
]);
/*$request->user()->invites()->create([
'code' => str_random(40),
]);*/
DB::table('invites')->insert([
['usuId' => $request->user('id'), 'code' => str_random(40), 'email' => $request->input('email')],
]);
return redirect('/administrar');
}
}
с помощью $ request-> пользователя() -> идентификатор работает нормально, но правильный метод это прокомментировал один я думаю , с отношениями вы подразумеваете внешние ключи или просто красноречие? потому что там у меня есть это так public function user() { return $ this-> принадлежит Too (User :: class); } User.php общественная функция инвайты() { возвращение $ this-> hasMany (Пригласить :: класс); } – Sociopath
@Sociopath answer updated – alepeino
спасибо, что работает как шарм, еще один вопрос добавляет все, кроме электронной почты, чтобы получить его, я должен написать это: $ request-> user() -> invites() -> create ([ \t \t \t 'код' => str_random (40), \t \t \t 'электронная почта' => $ request-> вход ('электронная почта'), ]); это нормально? – Sociopath