2016-09-08 5 views
1

У меня есть две таблицы, которые я присоединяюсь к контроллеру.Просмотреть имя пользователя по id в laravel 5.2

Вот мой контроллер:

$data = DB::table('classrooms') 
->select('classrooms.id as classrooms_id', 'classrooms.*', 'joinclass.*') 
->join('users', 'classrooms.user_id', '=', 'users.id') 
->join('joinclass', 'classrooms.class_code', '=', 'joinclass.class_code')->get(); 
return View::make('std_classes')->with('data',$data); 

В моей joinclass таблице у меня есть user_id. Теперь я хочу просмотреть имя пользователя и иметь в моей таблице users. Как я могу выбрать в этом контроллере и просмотреть мою страницу клинка. Я пробую это много раз, но не могу. Вот мое мнение:

Teacher: {{$data->name}} 

ответ

0

Вы должны сначала выбрать, то вы можете использовать его в качестве $data->name, поэтому попробуйте добавить users.name выбрать:

$data = DB::table('classrooms') 
    ->select('users.name as name', 'classrooms.id as classrooms_id', 'classrooms.*', 'joinclass.*') 
    ->join('users', 'classrooms.user_id', '=', 'users.id') 
    ->join('joinclass', 'classrooms.class_code', '=', 'joinclass.class_code') 
    ->get(); 

return View::make('std_classes')->with('data',$data); 

Вы можете получить изображение также с помощью:

->select('users.name as name','users.image as image', 'classrooms.id as classrooms_id', 'classrooms.*', 'joinclass.*') 

Или получить все пользователи атрибутов в то же время с помощью users.*:

->select('users.*', 'classrooms.id as classrooms_id', 'classrooms.*', 'joinclass.*') 

Надеюсь, это поможет.

+0

Да, сэр его действительно полезным. Но у меня есть вопрос. Могу ли я выбрать два данных в одном -> select query? Если да, то какой будет этот запрос? Если я хочу также выбрать имя и изображение таблицы пользователей? – Shuvo

+0

Да, вы можете проверить мое обновление. –

+0

да, сэр, я уже это делаю. вы можете мне помочь в этом вопросе? http://stackoverflow.com/questions/39398763/how-to-validation-input-type-in-laravel-5-2 – Shuvo

1

Здесь я добавил несколько модификаций, Вы должны попробовать это в вашем контроллере

$data = DB::table('classrooms') 
    ->join('users', 'classrooms.user_id', '=', 'users.id') 
    ->join('joinclass', 'classrooms.class_code', '=', 'joinclass.class_code') 
    ->select('users.name as name', 'classrooms.id as classrooms_id', 'classrooms.*', 'joinclass.*') 
    ->get(); 

return view('std_classes',compact('data')); 

И использовать следующий код на целях отображения записей

@foreach($data as $stud) 
{{$stud->name}} 
@endforeach 
Смежные вопросы