mysql sqlstate 42000_mysql-SQLSTATE [42000]:语法错误或访问冲突:...
因此,我从Laravel收到以下错误:
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'participants' (SQL: select `participants`.*, `participants`.`message_id` as `pivot_message_id`, `participants`.`user_id` as `pivot_user_id`, `participants`.`created_at` as `pivot_created_at`, `participants`.`updated_at` as `pivot_updated_at` from `participants` inner join `participants` on `participants`.`id` = `participants`.`user_id` where `participants`.`deleted_at` is null and `participants`.`message_id` in (2))
我的消息/参与者关系如下所示:
public function participants()
{
return $this->belongsToMany('Namespace\Modules\Email\Models\Participant', 'participants', 'message_id', 'user_id')->withTimestamps();
}
我试图这样称呼它:
public function getAllMessages()
{
return Message::with('user')->with('participants')->get();
}
为什么会出现此错误?到底是怎么回事?
编辑:包括完整模型
信息
????????消息扩展口才
????{
????????使用PublishedTrait;
????????使用SoftDeletingTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'messages';
/**
* The attributes that can be set with Mass Assignment.
*
* @var array
*/
protected $fillable = ['subject', 'user_id', 'body', 'status'];
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['created_at', 'updated_at', 'deleted_at'];
/**
* Validation rules.
*
* @var array
*/
protected $rules = [
'subject' => 'required|max:255',
'body' => 'required',
];
/**
* User relationship
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo(Config::get('email.user_model'));
}
public function assets()
{
return $this->belongsToMany('Namespace\Modules\Assets\Models\Asset', 'message_assets');
}
/**
* Participants relationship
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function participants()
{
return $this->belongsToMany('Namespace\Modules\Email\Models\Participant', 'participants', 'message_id', 'user_id')->withTimestamps();
}
/**
* Recipients of this message
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function recipients()
{
return $this->participants()->where('user_id', '!=', $this->user_id);
}
/**
* Returns the latest message from a thread
*
* @return Namespace\Modules\Email\Models\Message
*/
public function getLatestMessageAttribute()
{
return $this->messages()->latest()->first();
}
/**
* Returns threads that the user is associated with
* @param $query
* @param $userId
* @return mixed
*/
public function scopeForUser($query, $userId)
{
return $query->join('participants', 'messages.id', '=', 'participants.message_id')
->where('participants.user_id', $userId)
->where('participants.deleted_at', null)
->select('messages.*');
}
/**
* Returns threads that the user is associated with
* @param $query
* @param $userId
* @return mixed
*/
public function scopeForUserWithDeleted($query, $userId)
{
return $query->join('participants', 'messages.id', '=', 'participants.message_id')
->where('participants.user_id', $userId)
->select('messages.*');
}
/**
* Returns messages that the user has sent
* @param $query
* @param $userId
* @return mixed
*/
public function scopeByUser($query, $userId)
{
return $query->where('user_id', $userId);
}
/**
* Returns threads with new messages that the user is associated with
* @param $query
* @param $userId
* @return mixed
*/
public function scopeForUserWithNewMessages($query, $userId)
{
return $query->join('participants', 'messages.id', '=', 'participants.message_id')
->where('participants.user_id', $userId)
->whereNull('participants.deleted_at')
->where(function ($query) {
$query->where('messages.updated_at', '>', $this->getConnection()->raw($this->getConnection()->getTablePrefix() . 'participants.last_read'))
->orWhereNull('participants.last_read');
})
->select('messages.*');
}
}
参加者
class Participant extends Eloquent
{
use SoftDeletingTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'participants';
/**
* The attributes that can be set with Mass Assignment.
*
* @var array
*/
protected $fillable = ['message_id', 'user_id', 'last_read'];
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['created_at', 'updated_at', 'deleted_at', 'last_read'];
/**
* Thread relationship
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function message()
{
return $this->hasMany('Namespace\Modules\Email\Models\Message');
}
/**
* User relationship
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo(Config::get('email.user_model'));
}
}
mysql sqlstate 42000_mysql-SQLSTATE [42000]:语法错误或访问冲突:...相关推荐
- mysql unescape解码_python mysql escape\n(简单语法错误)
我想使用这个python命令将mysql数据库导出到一个.csv文件中.在cursor.execute("""SELECT * INTO OUTFILE 'NullSer ...
- MYSQL 因单引号报语法错误
命令行里带单引号要报语法错误 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds ...
- [故障解决]Mysql爆出ERROR 1044 (42000)的错误怎么办?
情况如图,使用dvlopenhls可以登陆到这个host,并且可以查看里面的tables,但是使用tables其中的op_flow就会报错,查看了很多地方,有人说要改密码,有人说要grant给权限.五 ...
- mysql 1044 42000_[故障解决]Mysql爆出ERROR 1044 (42000)的错误怎么办?
情况如图,使用dvlopenhls可以登陆到这个host,并且可以查看里面的tables,但是使用tables其中的op_flow就会报错,查看了很多地方,有人说要改密码,有人说要grant给权限.五 ...
- mysql存储过程语法错误1064_mysql,dos下执行SQL语句创建存储过程出错ERROR 1064 (42000):...
update1.sql的内容为 DROP PROCEDURE IF EXISTS pcName; CREATE PROCEDURE pcName() BEGIN select 'a'; END; do ...
- c++调用mysql存储过程_C++中ADO调用MySQL存储过程失败,诡异的语法异常,求解中,附源码...
C++中ADO调用mysql存储过程失败,诡异的语法错误,求解中,附源码 不管怎么调整,死活都出现下面的错误 C++ADO代码我实在找不到什么错误了,难道是MySQL有什么问题,或者有其他需要注意的地 ...
- mysql创建函数时,1064语法错误,明明看着都对就是提示语法错误怎么办?
函数定义和错误提示如下所示 mysql> DELIMITER $$ mysql> CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(25 ...
- mysql 5.5 type=innodb_mysql5.5.23TYPE=InnoDB语法错误_MySQL
bitsCN.com mysql5.5.23 TYPE=InnoDB语法错误 CREATE TABLE IF NOT EXISTS `ad_aXXXX_test_delete` ( `payment` ...
- mysql数据库输出数据语法错误_获取RDS-Mysql数据语法错误
如果加工规则中涉及RDS资源的加载,则有可能会产生资源的加载或刷新错误.本文档主要介绍从RDS-Mysql获取数据出错的原因以及排查处理方法. 在成功读取源Logstore数据后,加工引擎开始对源Lo ...
最新文章
- python嵌套字典取值_python嵌套字典比较值与取值的实现示例
- cannot import name 'InteractiveConsole'
- 自学python推荐书籍2019-2019最全Python入门学习路线,不是我吹,绝对是最全
- 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了...
- Android之SwipeRefreshLayout
- 深度学习之卷积神经网络 ResNet
- CLR Generic
- 查询某字段不重复记录的SQL语句
- 【渝粤教育】国家开放大学2018年春季 7392-21FMatlab语言及其应用 参考试题
- 【读书笔记】浪潮之巅——公司史篇
- 阿里云ecs概念介绍
- apt cyg 安装php,Cygwin的安装及使用apt-cyg管理软件包
- 整理总结:英语口语发音技巧
- psql屏幕输出全部结果_液晶电视无法开机,是电源板问题还是屏幕问题,自己动手维修...
- Java基础(1)-存在指针吗
- android 获取栈顶activity,android获取当前栈顶的activity
- Nginx的Https配置及代理api接口配置
- 云米冰箱“失智”,问题不止“小米依赖症”
- 了解一下,Android 10中的APEX
- Re38:读论文 NeurJudge: A Circumstance-aware Neural Framework for Legal Judgment Prediction
热门文章
- php拦截登录页面跳转页面,PHP未登录自动跳转到登录页面
- 【格式转换程序软件集】---[A2B]---集中收集-不断更新[2008-3-29] 软件 软件 杭州志彬电脑维修网
- C语言判断关系中的自反还是反自反
- 捷联惯性导航系统与平台式惯性导航系统的区别
- android闹钟测评,时间就是一切 Android闹钟应用推荐
- linux摄像头教程,linux 摄像头驱动编写方法教程
- 计算机自动配置的ip地址,电脑自动获取IP地址的设置方法(图文)
- moviepy音视频剪辑基类VideoClip的write_gif方法opt、fuzz、dispose、colors、loop等参数的作用
- 【Python】称重系统-异步执行多线程运行threading 模块 Thread 类实现
- a标签在企业微信 或者 微信中,推送过来的超链接失效