我已经设置了新的lumen v5.7项目并创建了模型,并在模型中定义了多态关系,但是当我获取数据morphTo关系时,我不执行该命令。但是,如果在Laravel完整版项目中使用相同的模型架构,则可以正常工作。但是我必须从事流明项目而不是整个laravel项目。
在管腔中,多态关系有什么作用吗?
细分了模型类型
public function register() {
Relation::morphMap([
'media' => \App\Morphic\Media::class,
'text' => \App\Morphic\Text::class,
]);
}
形态模型
<?php
namespace App\Morphic;
use Illuminate\Database\Eloquent\Model;
class Post extends Model {
protected $primarykey = 'id';
protected $table = 'user_posts';
public function detail() {
return $this->morphTo();
}
public static function getAllRecords() {
$result = Post::with('detail')->orderBy('id', 'DESC')->limit(40)->get();
return $result;
}
}
发布模型
use Illuminate\Database\Eloquent\Model;
class Media extends Model {
protected $primarykey = 'id';
protected $table = 'media_posts';
protected $with = ['media'];
public function media() {
return $this->hasMany('App\PostMedia','user_post_id');
}
public function post() {
return $this->morphToMany('App\Morphic\Post', 'postable');
}
}
答案 0 :(得分:0)
如果您想使用雄辩的ORM,则应取消注释$app->withEloquent()
文件中的bootstrap/app.php
调用。
答案 1 :(得分:0)
AppServiceProvider
需要启用,我使用的是明细关系而不是postable
。但是,当我修改这些东西时,关系可以正常工作。