2014-11-25 2 views
0

사용자 테이블, 이미지 테이블 및 책갈피 테이블이 있습니다. 내 데이터베이스에있는 각각에 대한 관계를 지정했고 사용자가 업로드 한 모든 이미지에 액세스 할 수 있습니다. 그러나 북마크 한 이미지에 액세스 할 수 없습니다.

이것은 내 데이터베이스의 관계는 어떻게 생겼는지 : Laravel 수율을 사용 SQL

: 그러나 나는 Laravel을 내가 phpMyAdmin을에 SQL 입력을 사용하여 원하는 데이터에 액세스 할 수 있어요 Database

사용하지 않을 수 때 이 오류 :

: 이것은 내 사용자 모델입니다 Error

이 내 이미지 모델 :

<?php 

class Image extends Eloquent { 

    public function poster() { 
     return $this->belongsTo('user', 'poster_id', 'id'); 
    } 

} 

이 내 즐겨 찾기 모델입니다 :

@extends('master') 

@section('content') 
<!-- Page Content --> 
<header class="navbar navbar-inverse" role="navigation"> 
    <div class="container"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse"> 
       <span class="sr-only">Toggle Navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
      </button> 
      <a href="/" class="navbar-brand">Egami</a> 
     </div> 
     <div class="collapse navbar-collapse"> 
      <ul class="nav navbar-nav navbar-right"> 
       @if(!Sentry::check()) 
       <li> 
        <a href="#" data-toggle="modal" data-target="#login-modal">Login</a> 
       </li> 
       <li> 
        <a href="#" data-toggle="modal" data-target="#signup-modal">Signup</a> 
       </li> 
       @endif 
       @if(Sentry::check()) 
       @if(Sentry::getUser()->id == $user->id) 
       <li class="active"> 
       @else 
       <li> 
       @endif 
        <a href="/profile/{{ Sentry::getUser()->id }}">Profile</a> 
       </li> 
       <li> 
        <a href="/logout">Logout</a> 
       </li> 
       @endif 
      </ul> 
     </div> 
    </div> 
</header> 
<div class="container" id="profile"> 
    <div class="row"> 
     <div class="tac col-md-3"> 
      <img src="/img/{{ $user->profile_image }}" alt="{{ $user->username }}'s Profile Image"> 
     </div> 
     <div class="tal col-md-8"> 
      <h2>{{ $user->username }}</h2> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-md-12"> 
      <div class="navbar navbar-inverse" role="navigation"> 
       <ul class="nav navbar-nav navbar-center"> 
        <li> 
         <a href="{{ URL::action('[email protected]', $user->id) }}">Uploaded Images</a> 
        </li> 
        <li class="active"> 
         <a href="{{ URL::action('[email protected]', $user->id) }}">Bookmarked Images</a> 
        </li> 
       </ul> 
      </div> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-md-12"> 
      <div class="row"> 
       <?php 
        $bookmarks = $user->bookmarks()->orderBy('id', 'DESC')->simplePaginate(15); 
       ?> 
       @foreach($bookmarks as $bookmark) 
        <div class="col-md-4 user-image"> 
         <a href="{{ URL::action('[email protected]', $bookmark->image()->id) }}"> 
          <img src="/uimg/{{ $bookmark->image()->id }}.png" alt="{{ $bookmark->image()->title }}"> 
         </a> 
        </div> 
       @endforeach 
      </div> 
      <div class="row"> 
       <div class="container"> 
        {{ $bookmarks->links() }} 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
<footer class="navbar-fixed-bottom"> 
    <div class="container"> 
     <p> 
      Copyright &copy; Egami {{ date('Y') }} 
     </p> 
    </div> 
</footer> 
@stop 

@section('scripts') 

@stop 

답변

7

시도 :이 오류가 발생되고있는 뷰가

<?php 

class Bookmark extends Eloquent { 

    public $timestamps = false; 

    public function bookmarker() { 
     return $this->belongsTo('user', 'bookmarker_id', 'id'); 
    } 

    public function image() { 
     return $this->hasOne('image', 'image_id', 'id'); 
    } 

} 

입니다 이 :

<a href="{{ URL::action('[email protected]', $bookmark->image->id) }}"> 
    <img src="/uimg/{{ $bookmark->image->id }}.png" alt="{{ $bookmark->image->title }}"> 
</a> 

괄호 $ bookmark-> image() -> id를 $ bookmark-> image-> id로 제거했습니다.

+0

예. 이 함수는 관계 자체를 가져옵니다. 속성은 관계의 결과를 가져옵니다. +1. – ceejayoz

관련 문제