我对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');
}
}
如果有人可以帮助我确保只有一个用户只有一份注册问卷,那么只有他们不这样做才会显示?
由于
答案 0 :(得分:1)
我认为首先您需要重新设计数据库,因为多对多关系更适合。用户可以回答多个问题,并且可以向许多用户询问一个问题,您还需要存储答案,以便重新设计:
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的这些精彩视频教程。