gpt4 book ai didi

php - 如何创建 Laravel Eloquent 实体的空实例

转载 作者:行者123 更新时间:2023-12-03 23:56:28 24 4
gpt4 key购买 nike

我有 Laravel PHP 代码:

class Contract extends Model
{
public $table = "CONTRACTS";
public $timestamps = false;
protected $primaryKey = 'ID';
protected $fillable = array("ID", "CONTRACT_DATE", "PRICE_TYPE", "AMOUNT");
}

我希望 Laravel Controller 具有特殊方法,将 Contracts 实体的空实例作为 json 对象返回。这个想法是 Laravel 的代码对该实体进行所有必要的默认分配(例如,来自生成器的 ID、根据用户偏好的默认价格类型、根据地区的默认货币等)并返回可以从 Javascript 界面使用的实体。 Javascript 接口(interface)稍后将决定是否丢弃该实体,是否继续使用该实体,并最终使用适当的插入方法或 Laravel REST API 保存(插入)它。

问题是 - 如何创建 Laravel 模型的空实例? 例如。
class Contracts extends Controller
public function create() {
$contract = new Contract;
return json_encode($contract);
}
}

代码只是返回
[]

但我想要这样的东西:
{"ID":1111,
"CONTRACT_DATE":null,
"PRICE_TYPE":"2",
"AMOUNT":0.0}

Laravel 可以吗?一种解决方案是使用返回空值的原始 SQL,然后希望 Laravel 可以将此 SQL 转换为对象......

最佳答案

我需要为一个奇怪的小黑客做同样的事情。我使用以下创建了一个空模型实例,使用 $fillable属性。

$quote_request = new QuoteRequest();
$data = array_combine(
$quote_request->getFillable(),
array_fill(0, count($quote_request->getFillable()), null)
);
$quote_request->fill($data);
dd($quote_request->toArray());

关于php - 如何创建 Laravel Eloquent 实体的空实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38425289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com