2015-01-02 4 views
0

Я надеюсь, что вы хорошо, мне нужна ваша помощь, я работаю с Laravel и мне нужно соотносить информацию, у меня есть пользователь, TypeCost и модели CostCenter, где отношения являются:Модели связаны в Laravel 4

user: 
hasMany ('TypeCost'); 
belongsTo ('CostCenter', 'id'); 

TypeCost: 
belongsTo ('User'); 

CostCenter: 
hasMany ('User'); 

У меня есть индекс просмотра в модуле TypeCost, есть информация о загрузке из стоимости каждого пользователя, мне нужно, чтобы, если пользователь, зарегистрированный в журнале CostCenter, просто показывает записи пользователей, принадлежащих к CostCenter 1, и поэтому CostCenter для 2 , 3 и т. Д.

Это мой метод Индекса, который несет ответственность за отображение списка расходов:

public function index() 
{ 
$ type_costs = TypeCost :: paginate(); 
return View :: make ('type_costs.index' compact ('type_costs')); 
} 
+0

Почему вы используете 'compact' вместо' View :: make() -> with() '? – ceejayoz

+0

Используйте эшафот для создания контроллера. –

ответ

0
//for user model 
public function costcenter() 
{ 
    $this->belongsTo('CostCenter'); 
} 
//for costcenter model 
public function users() 
{ 
    $this->hasMany('User'); 
} 

//controller function 
public function index() 
{ 
    $cost_centers = Auth::user()->costcenter; 
    $cost_users = $cost_centers->users; 
    return View::make ('type_costs.index', compact ('cost_users')); 
} 

он возвращает список пользователей, который принадлежит CostCenter заготовленной пользователя. Если поле costcenter_id в таблице пользователя равно NULL, вы можете добавить некоторую проверку на контроллер.

+0

Спасибо всем моим друзьям, я попробую. –

Смежные вопросы