i have downloaded a script running laravel 5.2 and in a process users need to register before adding some list (list <- child table) and this works fine.
What I need to do is combine registration together with a 3 lists. Therefore, registration still goes to users table and list goes to list table.
Do I need to specify this in model?
I have this code so far.
ListingUserController.php
use Auth;
use App\User;
use App\Listings;
use App\Categories;
use App\SubCategories;
use App\Location;
use App\Http\Requests;
use Illuminate\Http\Request;
use Session;
use Intervention\Image\Facades\Image;
use Illuminate\Support\Facades\DB;
class ListingsUserController extends Controller
{
public function submit_listing() {
$categories = Categories::orderBy('category_name')->get();
$locations = Location::orderBy('location_name')->get();
return view('pages.addeditlisting',compact('categories','locations'));
}
public function addnew(Request $request)
{
$data = \Input::except(array('_token')) ;
$rule=array(
'category' => 'required',
'sub_category' => 'required',
'title' => 'required'
);
$validator = \Validator::make($data,$rule);
if ($validator->fails())
{
return redirect()->back()->withErrors($validator->messages());
}
$inputs = $request->all();
if(!empty($inputs['id'])){
$listings = Listings::findOrFail($inputs['id']);
}else{
$listings = new Listings;
}
$listing_slug = str_slug($inputs['title'], "-");
if(empty($inputs['id'])){
$listings->user_id = Auth::User()->id;
}
$listings->cat_id = $inputs['category'];
$listings->sub_cat_id = $inputs['sub_category'];
$listings->location_id = $inputs['location'];
$listings->save();
if(!empty($inputs['id'])){
\Session::flash('flash_message', 'Changes Saved');
return \Redirect::back();
}else{
\Session::flash('flash_message', 'Listing Added');
return \Redirect::back();
}
}
IndexController.php
namespace App\Http\Controllers;
use Auth;
use App\User;
use App\Categories;
use App\Listings;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use Intervention\Image\Facades\Image;
class IndexController extends Controller
{
public function register()
{
return view('pages.register');
}
public function postRegister(Request $request)
{
$data = \Input::except(array('_token')) ;
$inputs = $request->all();
$rule=array(
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|max:75|unique:users',
'password' => 'required|min:3|confirmed'
);
$validator = \Validator::make($data,$rule);
if ($validator->fails())
{
return redirect()->back()->withErrors($validator->messages());
}
$user = new User;
$user->first_name = $inputs['first_name'];
$user->last_name = $inputs['last_name'];
$user->email = $inputs['email'];
$user->password= bcrypt($inputs['password']);
$user->save();
\Session::flash('flash_message', '<b>Register successfully!');
return \Redirect::back();
}
Any help would greatly appreciated and helps me a lot.