- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的 MSSQL 有 2 个连接,名为 Seven_ora(User 模型的表在其中)和 sho(Character 模型的表在其中)。
一个用户有多个字符,一个字符属于用户。
当我尝试:
Character::whereHas('User', function($q) { $q->where('gm', 1); });
class Character extends Base {
/**
* Connection used by the model
*
* @var string
*/
protected $connection = 'sho';
/**
* Table used by the model
*
* @var string
*/
protected $table = 'tblgs_avatar';
/**
* Fields fillable by the model
*
* @var array
*/
protected $guarded = array('*');
/**
* Checks whether the model uses timestamps
*
* @var boolean
*/
public $timestamps = false;
/**
* Decode the job name of the given ID
*
* @return string
*/
public function getJobName()
{
switch( $this->job ) {
case 0:
$job = 'Visitor';
break;
case 111:
$job = 'Solider';
break;
case 221:
$job = 'Muse';
break;
case 311:
$job = 'Hawker';
break;
case 411:
$job = 'Dealer';
break;
case 121:
$job = 'Knight';
break;
case 122:
$job = 'Champ';
break;
case 221:
$job = 'Mage';
break;
case 222:
$job = 'Cleric';
break;
case 321:
$job = 'Raider';
break;
case 322:
$job = 'Scout';
break;
case 421:
$job = 'Bourg';
break;
case 422:
$job = 'Artisan';
break;
default:
$job = 'Untitled';
break;
}
return $job;
}
/**
* Rank the characters according to provided details
*
* @param integer $offset
* @param string $field
* @return Character
*/
public static function byTop($offset = 10, $field = null)
{
$characters = new static();
if ( !is_null($field) ) $characters->orderBy($field, 'desc');
return $characters->take($offset);
}
/**
* A shortcut to access the name of the character
*
* @return string
*/
public function getNameAttribute()
{
return $this->txtNAME;
}
/**
* A shortcut to access the level of the character
*
* @return int
*/
public function getLevelAttribute()
{
return $this->btLEVEL;
}
/**
* A shortcut to access the job of the character
*
* @return integer
*/
public function getJobAttribute()
{
return $this->intJOB;
}
/*
|--------------------------------------------------------------------------
| ORM
|--------------------------------------------------------------------------
*/
/**
* ORM with the [User] table
*
* @return User
*/
public function user()
{
return $this->belongsTo('User', 'Account', 'txtACCOUNT');
//$user = User::where('Account', $this->txtACCOUNT)->first();
//return $user;
}
}
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Base implements UserInterface, RemindableInterface {
/**
* Connection used by the model
*
* @var string
*/
protected $connection = 'seven_ora';
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'userinfo';
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('MD5PassWord', 'password');
/**
* Fields guarded by the model
*
* @var array
*/
protected $guarded = array();
/**
* Fields fillable by the model
*
* @var array
*/
protected $fillable = array(
'Account',
'Email',
'MD5PassWord',
'FirstName',
'LastName',
'MotherLName'
);
/**
* Checks whether the model uses timestamps
*
* @var boolean
*/
public $timestamps = false;
/**
* Get the unique identifier for the user.
*
* @return mixed
*/
public function getAuthIdentifier()
{
return $this->getKey();
}
/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword()
{
return $this->MD5PassWord;
}
/**
* Get the token value for the "remember me" session.
*
* @return string
*/
public function getRememberToken()
{
return $this->remember_token;
}
/**
* Set the token value for the "remember me" session.
*
* @param string $value
* @return void
*/
public function setRememberToken($value)
{
$this->remember_token = $value;
}
/**
* Get the column name for the "remember me" token.
*
* @return string
*/
public function getRememberTokenName()
{
return 'remember_token';
}
/**
* Get the e-mail address where password reminders are sent.
*
* @return string
*/
public function getReminderEmail()
{
return $this->email;
}
/**
* Validate input
*
* @param array $input
* @param integer $id
* @return Validator
*/
public function validate(array $input = array(), $id = null)
{
// Rules
$username = 'required|alpha_num|between:4,32|unique:userinfo,Account';
$password = 'required|between:4,48';
$email = 'required|email|unique:userinfo,Email';
$mname = 'required';
// Unique rules
if(!is_null($id)) {
$unique = ',' . $id;
$username .= $unique;
$email .= $unique;
}
$rules = array(
'username' => $username,
'password' => $password,
'email' => $email,
'mname' => $mname
);
$messages = array('mname.required' => "The security question field is required");
Config::set('database.default', 'seven_ora'); // Set config
return Validator::make($input, $rules, $messages);
}
/**
* Change password of the user
*
* @param string $old
* @param string $new
* @return boolean
*/
public function changePassword($old, $new)
{
if(Hash::check($old, $this->MD5PassWord)) {
$this->MD5PassWord = Hash::make($new);
if($this->save()) return true;
}
return false;
}
/**
* Checks if the user is a GM
*
* @return boolean
*/
public function isGM()
{
return ( $this->Right > 1 )
? true
: false;
}
public function addVP($points)
{
$vp = $this->votePoint;
$count = $vp->count;
$vp->count = $count + $points;
$vp->save();
}
/**
* Since our server files does not use the typical
* field names, this sets our username to whatever is being used
*
* @return void
*/
public function getUsernameAttribute()
{
return $this->Account;
}
/**
* Since our server files does not use the typical
* field names, this sets our password to whatever is being used
*
* @return void
*/
public function getPasswordAttribute()
{
return $this->MD5PassWord;
}
/**
* A shortcut to the user's vote point count
*
* @return void
*/
public function getVpAttribute()
{
return $this->votePoint->count;
}
public function getDpAttribute()
{
return $this->donationPoint->count;
}
/*
|--------------------------------------------------------------------------
| ORM
|--------------------------------------------------------------------------
*/
/**
* ORM with the Character model
*
* @return Character
*/
public function characters()
{
return $this->hasMany('Character', 'txtACCOUNT', 'Account');
//$characters = Character::where('txtACCOUNT', $this->username)->get();
//return $characters;
}
/**
* ORM with the VotePoint model
*
* @return VotePoint
*/
public function votePoint()
{
return $this->hasOne('VotePoint');
}
/**
* ROWM with the DonationPointmodel
*
* @return DonationPoint
*/
public function donationPoint()
{
return $this->hasOne('DonationPoint');
}
/**
* ORM with the News model
*
* @return News
*/
public function news()
{
return $this->hasMany('News');
}
/**
* ORM with the Slide model
*
* @return Slide
*/
public function slides()
{
return $this->hasMany('Slide');
}
/**
* ORM with the VoteLog model
*
* @return VoteLog
*/
public function logs()
{
return $this->hasMany('VoteLog');
}
}
最佳答案
将数据库名称添加到 User 类中的 $table 值中。因此假设 Seven_ora 也是数据库的名称:
protected $table = 'seven_ora.userinfo';
关于Laravel 4.1 Eloquent - 使用 whereHas 的自定义连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457561/
我正在从某个数据范围中选择所有ScheduledPrograms,其中包含属于某个用户的参加者。我想添加一个过滤器以仅选择数据透视字段 registered=1 所在的 SchduledProgram
我正在使用 Eloquent 构建应用程序并遇到了麻烦,我正在使用多对多 Pivot 关系。 引用:https://laravel.com/docs/5.0/eloquent#many-to-many
我有三个表: 交易模式: class Deal extends Model { protected $guarded = ['id']; public function hotel()
如何查询关系并仍然包含没有关系的模型?有两种型号 商店 产品 代码 // Store public function products() { $this->belongsToMany('App
这是我在这里发表的第一篇文章,所以请原谅任何错误:) 我目前正在从事库存管理应用程序(Laravel)的项目。我已经到了我所做的一切都不起作用的地步,所以现在我请求帮助。 我有一个包含产品的表,其中一
我有三个型号 Period , Post , User : period和 posts在 period_posts 上有 M:N 关系 posts和 user在 views 上有 M:N 关系 期间型
我正在努力避免 DRY在我的查询构建器中,特别是在链中添加额外的方法。 例如,这最初是我拥有的查询构建器: $products = $app->myShop->realProducts()
所以我想获得最后状态等于给定状态的请求我试过 first() 但它给了我一个错误并且限制不起作用 $requests = Request::whereHas('requestStatus', func
我有两个具有一对多关系的表。 预订 - (id) booking_tasks - (id, booking_id,user_id) 一个预订有很多任务一项任务有一个预订 预订模式: public f
我发现这些方法背后的概念和含义有点令人困惑,是否有人可以向我解释一下 has 和 with 之间的区别是,在示例的上下文中(如果可能的话)? 最佳答案 与 with() 用于急切加载。这基本上意味着,
我正在使用新的 whereHas 方法在 Laravel 4.1 中添加对急切加载关系的约束。 $broadcast = $broadcast->whereHas('season', function
我有两个表 - 联系人和访问: 联系人表 id | name ----- | ------- 1 | Joe 2 | Sally 访问表 id | con
我有两个具有多对多关系的主表和一个数据透视表。 模型“类型” public function attributes() { return $this->belongsT
假设我有两个模型, Block 和Slot 各自的表结构为:- blocks(id, name); slots(id, block_id, time, status); slots.status 的值
这是 Laravel 5 应用程序中 Eloquent 类之间的一些关系: B属于A B有一个C 表是用正确的外键构建的。这是 A 的作用域方法: public function scopeMySco
基于公寓查找器,显示/返回所有具有公寓的类型,基于表单搜索。这是使用 whereHas 查询完成的。 例如: A user has different choices; a garden/balcon
我使用此查询过滤掉具有城市和类别的商店。当我在 stores 表中有大约 1000 条记录时,它工作正常。现在,当我有 5000 条记录时,生成结果大约需要 3-10 秒。 在我的案例中,一家商店属于
这个问题是关于:Laravel (5.3) Eloquent - Relationship issue , 请访问此 url 以获取更多信息。 我最终得到了以下脚本: $genres = ['acti
问题:我只想在客户已经下了当年的订单的情况下获得他们。客户和订单位于两个单独的数据库中(这不能更改)。这些关系都已设置并正常工作,但是当我尝试以下操作时,我不断收到 SQL 错误,因为它试图在“客户”
目前我的模型集合中有这个 whereHas: $query = self::whereHas('club', function($q) use ($search) { $q->whereHas
我是一名优秀的程序员,十分优秀!