我对Laravel和框架非常陌生,所以我正在学习很多东西。
用户登录后会转到显示表单的页面。我希望只有在他们之前没有填写过的情况下才能显示此表格。
我的桌子像这个
User Registration Q's
---------------------------------------------------
user_id reg_id
name q1
email q2
password q3
user_id
我的user.php模型:
<?php
namespace App;
use Illuminate'Foundation'Auth'User as Authenticatable;
class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function userq()
{
return $this->hasOne('Userreq');
}
userregq.php模型
<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
class userregq extends Model
{
protected $table = 'userregq';
public $timestamps = false;
public function user()
{
return $this->belongsTo('User');
}
}
如果有人能帮助我确保只有一个用户有一份注册问卷,并且只有在没有的情况下才会显示?
感谢
我认为首先需要重新设计数据库,因为多对多关系更适合。一个用户可以回答多个问题,一个问题可以被问给许多用户,你还需要存储一个答案,所以我会重新设计为:
User Answer Question
---------------------------------------
user_id answer_id question_id
name user_id question
email question_id
password answer
然后写下你的Eloquent模型。
当用户登录时,您从具有登录用户id的回答表中检索记录,如果没有,则向他显示问卷。
由于你是laravel的新手,你可能想在Laracasts laravel 5 Fundamentals上查看Jeffrey Way的这些很棒的视频教程。