请帮我开发一个网站?
我想从cycles表中获取数据,这样我就可以创建if条件并与moralities表建立关系。
周期表包含以下数据:
$table->increments('id');
$table->date('date_start_raise');
$table->integer('population');
$table->integer('raising_days');
$table->date('date_end_raise');
$table->date('date_manure_collection');
$table->date('date_cleaning');
$table->date('date_disinfection');
$table->date('date_rest_day');
$table->date('date_preparation');
$table->unsignedInteger('user_id');
$table->timestamps();
我需要的数据是date\u start\u raise、date\u end\u raise和id
死亡率表包含以下数据:
$table->increments('id');
$table->date('date_input');
$table->integer('number_of_mortality');
$table->integer('chicken_age');
$table->mediumText('cause_of_death')->nullable();
$table->unsignedInteger('cycle_id');
$table->unsignedInteger('user_id');
$table->timestamps();
我需要传递id(循环)到循环id(死亡)。
在这之前,我需要建立一个条件,这样死亡的内容将按循环id进行相应的排列,并与循环表建立关系
将使用的数据是日期\u输入(致命)、日期\u开始\u上升和日期\u结束\u上升(循环)。如果数据\u输入属于从日期\u开始\u上升到日期\u结束\u上升的日期范围,则id将传递到循环\u id。
例如
周期表中有两个数据
(9月3日至28日):id=1
(10月1日至11月5日):id=2
用户打开死亡率模式以输入数据并将数据发送到死亡率表。
根据死亡率模型,日期(dateœinput)为9月6日。由于输入的日期属于日期范围(从开始日期到结束日期)9月3日到9月28日,周期数据的id为1,因此id将为1。在获取之后,id的值将传递给cycle\ id(死亡率),这样两个表就有了关系。
我尝试了这个代码,但它是一个错误
“message”:“调用未定义的方法app\cycle::date\u start\u raise()”,
VermanityController.php(商店)
public function store(Request $request)
{
$cycle_id = Mortality::whereDate([
['date_input','>=', Cycle::date_start_raise()],
['date_input','<=', Cycle::date_end_raise()],
])->get(Cycle::id());
$this->validate($request, array(
'date_input' => 'required|date',
'number_of_mortality' => 'required|numeric',
'chicken_age' => 'required|numeric'
));
return Mortality::create([
'date_input' => request('date_input'),
'number_of_mortality' => request('number_of_mortality'),
'chicken_age' => request('chicken_age'),
'cause_of_death' => request('cause_of_death'),
'cycle_id' => $cycle_id,
'user_id' => Auth::id()
]);
}
请帮帮我。提前感谢:)
2条答案
按热度按时间bpsygsoo1#
您正在调用data\u start\u raise(),但实际上没有告诉它在哪个条目上执行此操作
例如,您必须找到一个条目
https://laravel.com/docs/5.7/eloquent
x4shl7ld2#
当您在where子句中使用get方法时,您得到的是一个集合;没有一个示例。这就是为什么您无法分配id。通过使用first(),我们将获得单个id。