问题描述
我有以下表格,其中一页包含许多可容纳内容,每个可容纳内容都有行或问题:
// Page model
class Page extends Model
{
protected $fillable = ['title'];
public function containables() {
return $this->morphMany(Containable::class,'containable');
}
}
Example pages table data:
| id | title |
|----|--------|
| 1 | Page 1 |
// Containable model
class Containable extends Model
{
protected $table = 'containables';
protected $fillable = ['containable_id','containable_type'];
public function containable() {
return $this->morphTo('containable');
}
public function sequences() {
return $this->hasMany(ContainableSequence::class,'containable_id','id');
}
Example containables table data:
| id | containable_id | containable_type |
|----|----------------|------------------|
| 2 | 1 | App\Page |
| 3 | 1 | App\Page |
// ContainableSequence model
class ContainableSequence extends Model
{
protected $table = 'containable_sequence';
protected $fillable = ['containable_id','sequencable_id','sequencable_type','order'];
public function sequencable() {
return $this->morphTo('sequencable');
}
}
Example containable_sequence table data:
| id | containable_id | sequencable_type | sequencable_id | order |
|----|----------------|------------------|----------------|-------|
| 4 | 2 | App\Line | 6 | 1 |
| 5 | 2 | App\Question | 8 | 2 |
| 6 | 3 | App\Question | 9 | 1 |
| 7 | 3 | App\Line | 7 | 2 |
// Line model
class Line extends Model
{
protected $table = 'lines';
protected $fillable = ['name'];
}
Example Lines table data:
| id | name |
|----|--------|
| 6 | line 1 |
| 7 | line 2 |
// Question model
class Question extends Model
{
protected $table = 'questions';
protected $fillable = ['name','marks'];
}
Example Questions table data:
| id | name | marks |
|----|------------|-------|
| 8 | Question 1 | 10 |
| 9 | Question 2 | 15 |
我正在尝试使用多态关联对表进行联接,以获取链接到页面的行数和问题数。
从页面开始,如何用雄辩的语言获得相关行和问题的计数?谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)