2014-10-23 2 views
1

그래서, 나는 두 개의 테이블이 좋아요 : (더 많은 컬럼을 가지고 있지만 이러한 중요한 것들)laravel 5 일대일 관계 쇼 외래 키 이름 필드에

프로젝트 ID PK AI CUSTOMER_ID (FK 고객)

고객 ID PK AI 이름

이제 내 인덱스 페이지에, 나는 고객의 이름을 표시 할 아닌 프로젝트가 테이블에하고 "고객"열에들을 보여주고 싶은 신분증, 신분증은 그 사람에게 아무런 의미가 없다. 테이블을 봅니다.

웬일인지, 나는 그것을 작동시킬 수 없다. 나는 성공하지 않고 이것을하는 방법에 대해 봤는데 봤어. 그래서 내가 뭘 잘못하고 있는지에 대한 대답을 얻을 수 있기를 바란다.

이 내 설정 :

Project.php

<?php namespace App\models; 

use Illuminate\Database\Eloquent\Model; 

class Project extends Model { 

protected $table = 'projects'; 

protected $fillable = [ 
    'customer_id', 'user_owner', 'user_project_leader' , 'name', 'description', 'status', 'offered_price', 
    'estimate', 'project_start', 'deadline', 'free_text', 'total_price', 'created_at', 'updated_at' 

]; 

public function customer() 
{ 
    return $this->hasOne('Customer'); 
} 

} 

Customer.php

<?php namespace App\models; 

use Illuminate\Database\Eloquent\Model; 

class Customer extends Model { 

protected $table = 'customers'; 

protected $fillable = [ 
    'name', 'reference_person', 'created_at', 'updated_at' 

]; 

} 

ProjectsController.php

public function index(){   
$projects = Project::with('customer')->get(); 
return view('projects.index', compact('projects')); 
} 

그리고 마지막으로, 내 인덱스

을. PHP

@foreach($projects as $project) 
    <tr> 
     <td>{{ $project->name }}</td> 
     <td>{{ $project->user_owner }}</td> 
     @foreach($project->customer as $pcustomer) 
     <td>{{ $pcustomer->name }}</td> 
     @endforeach 
     <td>{{ $project->deadline }}</td> 
     <td>{{ $project->offered_price }}</td> 
     <td> 00h</td> 
    </tr> 
    @endforeach 

"클래스 고객을 찾을 수 없습니다."라는 오류가 발생했습니다. 그것이 분명히 내 폴더에 있고 다른 목적으로 사용되었을 때.

답변

1

먼저 composer dump-autoload을 실행하십시오.

return $this->hasOne('\App\models\Customer'); 

귀하와 관련하여 귀하가 제안

+0

내가했던 그 두 가지를하고 지금은 클래스가 발견하지만, 나에게이 오류 제공합니다 : -

두 번째 일이 당신이 사용할 필요가 있다고 생각 SQLSTATE [42S22]를 : 열이 없습니다 : 1054 알 수없는 열 'customers.project_id'in where 절 '(SQL : select * from'customers'에서'customers'.project_id' in (1, 2, 3, 4)) 그것은 excist하지 않는 칼럼을 찾고있는 것을 보아라, 나는 단지 이유를 모른다. –

+0

관계를'$ this-> belongsTo ('\ App \ models \ Customer');로 반환해야합니다. –

+0

감사합니다! 나는 이것을 이해하는 데 어려움을 겪었으나 이제는 일을 시작하게되었으므로 나는 무엇인가 가지고있다. 나는 그 변경을하고 그 이름을 {{$ project-> customer-> name}}을 사용하여 성공적으로 나타냈다. –