我有两张桌子 1.课程 2.用户。
用户可以从课程列表中选择课程,并且通过他的实体,他可以保存他的用户信息。现在,管理员可以检查用户详细信息。因此,在那里有一个用户详细信息页面,我想显示用户详细信息。但它不是
以下是用户模型:
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
protected $table='users';
protected $fillable=['name','email','phone','course_id'];
public function roles()
{
return $this->belongsToMany('App\Role', 'user_role', 'user_id', 'role_id');
}
public function hasAnyRole($roles)
{
if (is_array($roles)) {
foreach ($roles as $role) {
if ($this->hasRole($role)) {
return true;
}
}
} else {
if ($this->hasRole($roles)) {
return true;
}
}
return false;
}
public function hasRole($role)
{
if ($this->roles()->where('name', $role)->first()) {
return true;
}
return false;
}
public function course()
{
return $this->hasMany('App\Course');
}
}
这是课程模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Course extends Model
{
protected $table='courses';
protected $fillable = ['name'];
public function user()
{
return $this->belongsToMany('App\User','course_id');
}
}
这是控制器:
<?php
namespace App\Http\Controllers;
use App\User;
use App\Role;
use App\Fee;
use App\Course;
use Illuminate\Support\Facades\Input;
use Illuminate\Http\Request;
class AppController extends Controller
{
public function getStudentDetails(){
// $user = User::all();
$user = \DB::table('users')->where('course_id','!=',0) ->get();
return view('studentDetails', compact('user'));
}
}
我必须只显示从列表中选择课程的用户数据。我怎么能这样做?
答案 0 :(得分:2)
在控制器中获取用户数据:
$config['base_url'] = APP_HOST;
在视图中,检查用户是否有一个课程,在tr之前,tbody使用此条件
import {Pipe, PipeTransform} from "angular2/core";
import {DateFormatter} from 'angular2/src/facade/intl';
@Pipe({
name: 'dateFormat'
})
export class DateFormat implements PipeTransform {
transform(value: any, args: string[]): any {
if (value) {
var date = value instanceof Date ? value : new Date(value);
return DateFormatter.format(date, 'pt', 'dd/MM/yyyy');
}
}
}
然后使用此代码访问课程名称
$user=User::with('courses')->first();