如何在 Laravel 8 中获取与 json 有一个 hasMany 关系的表的所有模型?
Posted
技术标签:
【中文标题】如何在 Laravel 8 中获取与 json 有一个 hasMany 关系的表的所有模型?【英文标题】:How to get all models of a table with one hasMany relationship to json in Laravel 8? 【发布时间】:2021-06-25 18:20:06 【问题描述】:目标
获取所有具有一定hasMany关系的模型json格式的数据。我想,你也可以说:在 json 中包含 hasMany 关系数据的集合。
我有两个表:template
和 template_field
以及两个模型。
第一个模型
class Template extends Model
use HasFactory;
/**
* @return HasMany
*/
public function templateField(): HasMany
return $this->hasMany(TemplateField::class);
第二个模型
class TemplateField extends Model
use HasFactory;
/**
* @return BelongsTo
*/
public function template(): BelongsTo
return $this->belongsTo(Template::class);
我能做的是:Template::all()->toJson()
。但随后 templateField 数据丢失。
编辑 这行得通。
$collection = Template::with('templateField')->get();
$collection->toJson();
【问题讨论】:
【参考方案1】:$collection = Template::with('templateField')->get();
return response()->json([
'status' => true,
'data' => $collection
], 200);
【讨论】:
感谢您的建议,但这不是我想要的。我想要json里面hasMany关系的数据。 您应该在代码中添加一些解释,以便 OP 可以更好地理解它。以上是关于如何在 Laravel 8 中获取与 json 有一个 hasMany 关系的表的所有模型?的主要内容,如果未能解决你的问题,请参考以下文章