Pat*_*Rey 5 php laravel eloquent
我正在尝试使用此功能删除一个 Poll ,我需要在其中分离关系:
public function destroy($id)
{
$poll = Poll::findOrFail($id);
$poll->answers()->detach();
$poll->poll_user()->detach();
$poll->delete();
}
Run Code Online (Sandbox Code Playgroud)
但是我收到此错误消息,我不知道为什么:
调用未定义的方法 Illuminate\Database\Query\Builder::detach()
这是民意调查模型:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Poll extends Model
{
/**
* La table utilisée par le modèle
*
* @var string
*/
protected $table = 'polls';
/**
* On utilise les dates de mise à jour
*
* @var bool
*/
public $timestamps = true;
/**
* Attributs autorisés en ensignement de masse.
*
* @var array
*/
protected $fillable = ['question'];
/**
* Relation de type 1:n
*
* @return Illuminate\Database\Eloquent\Relations
*/
public function answers()
{
return $this->hasMany('App\Models\Answer');
}
/**
* Relation de type n:n
*
* @return Illuminate\Database\Eloquent\Relations
*/
public function users()
{
return $this->belongsToMany('App\Models\User')->withTimestamps();
}
}
Run Code Online (Sandbox Code Playgroud)
尝试以下代码:
public function destroy($id)
{
$poll = Poll::findOrFail($id);
$poll->answers()->dissociate();
$poll->users()->sync([]);
$poll->delete();
}
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,那么可能需要查看其他模型或迁移。
| 归档时间: |
|
| 查看次数: |
18179 次 |
| 最近记录: |