Q:

Laravel 5.1 belongsTo Trying to get property of non-object

I'm trying to echo out the name of the user in my article and I'm getting the ErrorException Trying to get property of non-object.  Here is my code:
Model (I have a User model too):
1.  News

    class News extends Model
    {
      public function postedBy()
      {
         return $this->belongsTo('User');
      }
      protected $table = 'tcity_news';
      protected $fillable = ['newsContent', 'newsTitle', 'postedBy'];
    }

2.  User

    class User extends Model implements AuthenticatableContract,
                                AuthorizableContract,
                                CanResetPasswordContract
    {
        use Authenticatable, Authorizable, CanResetPassword;

        protected $table = 'users';

        protected $fillable = ['name', 'email', 'password'];

        protected $hidden = ['password', 'remember_token'];

    }

Controller:
public function showArticle($slug)
    {
        $article = News::where('slug', $slug)->firstOrFail();
        return view('article', compact('article'));
    }

Blade:
{{ $article->postedBy->name }}

When I try to remove name in the blade {{ $article->postedBy }} it echoes out the id, but when I try to add the ->name there it says Trying to get property of non-object but I have a field name in my table and User model.  Am I missing something? 
UPDATE: When I try what user dschu said which is {{ dd( $article->postedBy) }} , I get the id of the user. 

A:

The problem is that you seem to have the same name (postedBy) for your relationship and the field in you database. 
You should have a field called user_id instead of postedBy (or userId to be consistent).