我想询问在删除主题时如何解决此错误,我需要将其重定向回topic.index,但这是错误的
(缺少[Route:topic.index] [URI:topic / {id} / group]的必需参数。)
在@Saga()
aggregateCreated = (events$: Observable<any>): Observable<AggregateCommand> => {
return events$.pipe(
ofType(AggregateCreatedEvent),
map(async (event: AggregateCreatedEvent) => {
const result = this.queueService.sendMessage(
"http://XXXXXXX", { test: "MessageContent });
await Promise.all([result]);
return;
}),
flatMap(c => c)
);
}
中显示一些代码01。
我尝试将TopicController
中的$topic follow show some code 02.
添加到TopicController
中,并且404 not found
之间的ID从“组ID”更改为已删除的“主题ID”
在 web.php
中topic/{id}/group
01。在TopicController中
Route::get('/topic/{id}/group', 'TopicController@index')->name('topic.index');
02。在TopicController中
class TopicController extends Controller
{
public function index($id)
{
$group = Group::findOrFail($id);
$topics = Topic::where('group_id', $id)->orderBy('created_at', 'desc')->paginate(5);
return view('topic.index', compact('group', 'topics'));
}
public function destroy( Topic $topic)
{
if ($topic != null) {
$topic->delete();
return redirect()->route('topic.index') ; //*******
}
}
}
删除主题后,我需要重定向回class TopicController extends Controller
{
public function index($id)
{
$group = Group::findOrFail($id);
$topics = Topic::where('group_id', $id)->orderBy('created_at', 'desc')->paginate(5);
return view('topic.index', compact('group', 'topics'));
}
public function destroy( Topic $topic)
{
if ($topic != null) {
$topic->delete();
return redirect()->route('topic.index',$topic) ; //*******
}
}
}
希望有人能帮助我,也希望您能理解我的信息
答案 0 :(得分:0)
您正试图重定向回刚刚删除的主题,这没有意义,您还需要该组的$id
,而不是该主题,因此请尝试以下操作:
public function destroy( Topic $topic)
{
if ($topic) {
$group = $tropic->group_id;
$topic->delete();
return redirect()->route('topic.index', $group);
}
return redirect()->back();
}
答案 1 :(得分:0)
您必须先获得groupId
才能删除主题。
所以:
public function destroy( Topic $topic)
{
if ($topic != null) {
$groupId = $topic->group_id;
$topic->delete();
return redirect()->route('topic.index',$groupId) ; //*******
}
}
答案 2 :(得分:0)
您发布的df2 = (df.pivot_table(index=['Field1','Field2'],
columns='Type',
values=['Price1', 'Price2'],
aggfunc='mean')
.sort_index(axis=1, level=1))
df2.columns = [f'{b}-{a}' for a, b in df2.columns]
df2 = df2.reset_index()
print (df2)
路由包含一个参数topic.index
参数是必需的。那就是01代码段中的错误。
在02片段中,您正在删除主题,然后将其重定向到已删除的主题,并尝试通过课程返回id
代码来获取它
解决方案:
404 not found
答案 3 :(得分:0)
您的路线(Throwable
)由topic.index
处理,它需要该组的ID。因此,销毁主题时,必须将其重定向回组索引。因此,您需要在删除模型之前获取TopicController@index
。
您试图从最近删除的对象/模型重定向到路由,这是不可能的。
您的代码如下:
group id
如果您使用Laravel路由显式绑定(https://laravel.com/docs/5.8/routing#explicit-binding),则不必检查主题是否存在,这是由Laravel完成的。然后,您的代码将看起来像这样,更加简洁,对吧?:
public function destroy( Topic $topic)
{
if ($topic) {
$group_id = $tropic->group_id;
$topic->delete();
return redirect()->route('topic.index', $group_id);
}
return redirect()->back();
}