Php Laravel所属的将双引号添加到可执行查询中
我使用Laravel与MYSql和MongoDB连接。当使用belong来解释MYSQL和MongoDB之间的ORM关系时,它给出了以下错误: “调用Php Laravel所属的将双引号添加到可执行查询中,php,mongodb,laravel,eloquent,Php,Mongodb,Laravel,Eloquent,我使用Laravel与MYSql和MongoDB连接。当使用belong来解释MYSQL和MongoDB之间的ORM关系时,它给出了以下错误: “调用null上的成员函数prepare()” Mysql模型:Audios.php class Audios extends Model { protected $table = 'audios'; public function getAudioPlaylist() { return $this->ha
null
上的成员函数prepare()
”
Mysql模型:Audios.php
class Audios extends Model
{
protected $table = 'audios';
public function getAudioPlaylist()
{
return $this->hasMany('AudioPlaylists:;class','id','audio_id');
}
}
use Jenssegers\Mongodb\Eloquent\Model as MongoModel;
class AudioPlaylist extends MongoModel
{
protected $collection = 'audio_playlists';
protected $connection = 'mongodb';
public function playlistAudioTracks()
{
return $this->belongsTo(Audios::class, 'audio_id', 'id');
}
}
Mongo模型:AudioPlaylist.php
class Audios extends Model
{
protected $table = 'audios';
public function getAudioPlaylist()
{
return $this->hasMany('AudioPlaylists:;class','id','audio_id');
}
}
use Jenssegers\Mongodb\Eloquent\Model as MongoModel;
class AudioPlaylist extends MongoModel
{
protected $collection = 'audio_playlists';
protected $connection = 'mongodb';
public function playlistAudioTracks()
{
return $this->belongsTo(Audios::class, 'audio_id', 'id');
}
}
Mongo系列:
{
"_id" : ObjectId("5c2f519368c5f214022c4102"),
"playlist_id" : "5c2cace668c5f2382e5ef464",
"audio_id" : 1,
"updated_at" : ISODate("2019-01-04T12:29:07Z"),
"created_at" : ISODate("2019-01-04T12:29:07Z")
}
音频表包含相关的id
1。在Audio
s模型上有许多
关系可以正常工作,反之则不行
通过在日志文件中记录查询进行调试时,belongsTo的查询如下所示,在PhpMyAdmin中使用相同的查询时,会出现语法错误:
[2019-01-04 18:41:13]production.INFO:选择audios.*,audios.id作为“audios”中“audios”的最爱,其中“audios”。(?)中的“id”和“is_active”=
经过一天的努力终于找到了解决办法。解决办法是加上,
$connection = 'mysql';
在Audios.php模型中,由于缺少connection属性,因此关系belongsTo from AudioPlaylists模型尝试使用MongoDB实例构建查询。是
'AudioPlaylists:;类“
输入错误?