2016-10-29 3 views
0

У меня есть 2 таблицы, tn_project имеет имя ID cv_id_project и tn_activity имеет имя ID id, я хочу, чтобы получить имя проекта, который cv_project_name, а его id.Отображаемое имя таблицы, а ее идентификатор Laravel

В основном, когда я нажимаю add activity я есть select возможность выбирать, какие project, что я использую, я смог получить идентификатор выбранного project, но я хочу его name (я могу выбрать до 3 project в одном activity)

Модель

<?php namespace Activity; 

use Illuminate\Database\Eloquent\Model; 

class Activity extends Model { 
    protected $table = 'tn_activity'; 
    public $timestamps = false; 

    public function projectModel(){ 
     return $this->hasMany('Activity\Project','cv_id_project','id'); 
    } 
} 

VIEW

@foreach($query as $result) 
    <td>{{$result->projectModel->cv_project_name}}</td> 
@endforeach 

Контроллер

public function index(){ 
    return view('landing-page') 
     ->with('title','Landing Page') 
     ->with('query',Activity::with('projectModel')->get()) 
     ->with('projects',Project::all()); 
} 

обычно это работа, но я не знаю, что делает его ошибки , а затем произошла эта ошибка

Undefined property: Illuminate\Database\Eloquent\Collection::$cv_project_name (View: C:\xampp\htdocs\PKL\netxcel-2-backup2\resources\views\landing-page.blade.php)

ответ

0

Ваша деятельность projectModel - это коллекция, потому что она имеет отношения. Если это действительно так, вы должны получить название проекта, как это.

@foreach ($result->projectModel as $project) 
    <td>{{$project->cv_project_name}}</td> 
@endforeach 

Однако, если это не должно иметь hasMany отношения, чем вы должны изменить hasMany часть

+0

что, если это belongsTo? –

+0

Да, это должно быть обработано – jamesjaya

+0

это не работает, я не знаю, но я думаю, что мы не можем иметь foreach внутри foreach, снова взгляните на мой код просмотра –

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