2014-10-13 4 views
0

프로젝트를 추적하는 laravel 앱을 구축 중입니다. 사용자는 작업을 정의하고 프로젝트에 첨부 할 수 있습니다.laravel 추가 매개 변수가있는 피벗 테이블

사용자가 여러 프로젝트에서 다시 사용할 수있는 작업 목록을 가질 수 있기를 바랍니다.

public function up() 
{ 
    Schema::create('project_task', function($table) 
    { 
     $table->increments('id'); 
     $table->integer('project_id'); 
     $table->integer('task_id'); 
     $table->timestamps(); 
    }); 
} 

그러나, 나는 사용자가 프로젝트에 따라 작업에 대해 서로 다른 기한을 설정할 수 있도록하고 싶습니다 :이 충분 프로젝트와 작업을 연결하는 피벗 테이블을 사용하여 간단하다. 프로젝트 1에서 작업 A는 1 주일 만에 마감됩니다. 프로젝트 2에서 작업 A는 한 달 안에 만기됩니다.

이러한 유형의 값을 저장하는 가장 좋은 테이블 스키마는 무엇입니까? 작업 매개 변수를 프로젝트 ID에 연결하는 또 다른 피벗 테이블이 필요합니까? 이 문제를 어떻게 처리해야할지 모르겠습니다.

입력 해 주셔서 감사합니다.

EDIT : 나는 Eloquent ORM을 사용하므로 피벗 행이 실제로 노출되지 않으므로 Project과 연결된 Task 개체 만 가져옵니다.

답변

0

project_task 테이블에 due_date 필드를 간단하게 추가 할 수 있습니다. 세 (당신이 당신의 질문에이) 테이블 프로젝트, 작업 및 project_task이 같이

을해야합니다 총 그래서 당신은 한 번 task을 정의하고

편집

각 프로젝트에 대해 서로 다른 만기 날짜를 지정할 수 있습니다

당신은 due_dateDefining A Custom Pivot Model를 참조 포함하는 사용자 정의 피벗 모델을 정의 할 수 있습니다

+0

나는 그것을 고려 @ iTech--하지만 인해 모델 수준에서 정의 관계에 당신은 정말에 끌어 결코 설득력 시스템을 사용할 때 피벗 데이터 - 피벗 테이블이 가리키는 객체, 즉'project_task' 행이 아니라 실제'Task' 객체를 가져옵니다. – user101289

관련 문제