有人知道我如何摆脱相关资源的详细信息页面上的更新图标吗?
我说的是这里的图标;
事件和时间段具有多对多的关系。
它们是如此相关;
App / TimeSlot.php
public function events()
{
return $this->belongsToMany('App\Event');
}
App / Event.php
public function timeSlots()
{
return $this->belongsToMany('App\TimeSlot');
}
我对于每种型号都有Nova的资源和政策。
在我的时隙政策中,更新设置为返回false。
App / Nova / Policies / TimeSlotPolicy.php
/**
* Determine whether the user can update the time slot.
*
* @param \App\User $user
* @param \App\TimeSlot $timeSlot
* @return mixed
*/
public function update(User $user, TimeSlot $timeSlot)
{
return false;
}
并且在我的事件策略中,attachAnyTimeSlot和detachTimeSlot都设置为返回false;
App / Nova / Policies / EventPolicy.php
/**
* Determine whether the user can attach a time slot to an event.
*
* @param \App\User $user
* @param \App\Event $event
* @return mixed
*/
public function attachAnyTimeSlot(User $user, Event $event)
{
return false;
}
/**
* Determine whether the user can detach a time slot from an event.
*
* @param \App\User $user
* @param \App\Event $event
* @param \App\TimeSlot $timeSlot
* @return mixed
*/
public function detachTimeSlot(User $user, Event $event, TimeSlot $timeSlot)
{
return false;
}
后者摆脱了垃圾箱图标,该图标可以分离关联的资源。
似乎没有什么可以摆脱编辑图标的。
当我单击它时,我什么也不能做。
出于明显的原因,我根本不希望它出现。
有人知道如何删除它吗?
答案 0 :(得分:2)
在您的EventPolicy中定义
public function attachTimeSlot(User $user, Event $event, TimeSlot $timeSlot)
{
return ! $event->timeslots->contains($timeslot);
}
从此github issue开始,请查看更多详细信息