Hannik Hannik - 3 months ago 14
PHP Question

laravel : form model binding get null so got error

this is my homecontroller :

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

use App\Http\Models\Profile as Profile;
use Auth;

class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}

/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$profile = Profile::where('user_id',Auth::user()->id)->first();
return view('home.index')->with("profile", $profile);
}
}


and it is my view ( partial of some ) :

<img src="{{ $profile ?: url('images/'.$profile->logo) }}" alt="Profile-Image" class="img-circle" width="44">
{{ $profile->company_name ?: Auth::user()->username}}


this my Profiles table :

user_id | company_name | logo



2 | deneme | zoro.jpg

as you see i have no data which has user_id = 1 so $profile values not coming from db and than i got this error :

Trying to get property of non-object
(View: /opt/lampp/htdocs/works/menu/resources/views/layout/header.blade.php)
(View: /opt/lampp/htdocs/works/menu/resources/views/layout/header.blade.php)
(View: /opt/lampp/htdocs/works/menu/resources/views/layout/header.blade.php)


what can i do now ?

Answer

Try it in your view:

<img src="{{ !$profile ?: url('images/'.$profile->logo) }}" alt="Profile-Image" class="img-circle" width="44">
{{ $profile->company_name ?: Auth::user()->username}}