Laravel 实战开发知乎:问题 Feed 和删除问题
打赏作者

laravistpublic

能给出style.css里面的所有代码吗

lioonline 回复 laravistpublic

.panel-body img {
    width:100%;
}

a.topic {
    background-color: #eff6fa;
    padding: 1px 10px 0;
    border-radius: 30px;
    text-decoration: none;
    margin: 0 5px 5px 0;
    display: inline-block;
    white-space: normal;
    cursor: pointer;
}

a.topic:hover {
    background: #259;
    color: #fff;
    text-decoration: none;
}


.button.is-naked{
background: 0 0;
border: none;
border-radius: 0;
padding: 0;
height: auto;
}
.actions{
display: flex;
padding: 10px 20px;
}
.delete-form{
margin-left: 20px;
}
.delete-button{
color: #3097D1;
text-decoration: none;
}
lioonline 回复 laravistpublic

a.topic {
    background-color: #eff6fa;
    padding: 1px 10px 0;
    border-radius: 30px;
    text-decoration: none;
    margin: 0 5px 5px 0;
    display: inline-block;
    white-space: normal;
    cursor: pointer;
    float: right;
}
JellyBool 回复 lioonline

阔以,这很强势。

xiaofengzhi 回复 JellyBool

public function destroy($id)
{
$question = this>questionRepository>byId(this->questionRepository->byId(id);

    if(Auth::user()->owns($question)){

        $question->delete();

        return redirect('/');
    }

    abort('403','Forbiden');

}

这里边用的delete()方法并没有定义,为什么可以直接使用?

JellyBool 回复 xiaofengzhi

有的,你可以看一下深入 Eloquent 的系列

Frank0Hao

qquestion_topic表对应的没有删除

JellyBool 回复 Frank0Hao

什么?你是想说什么?

curder 回复 JellyBool

删除问题的时候,关联表数据没有一同删除或做相应的数据变更,比如:topics 表,和 question_topic

JellyBool 回复 curder

阔以,我觉得删除 question_topic 基本 OK 了

XBisATrouble 回复 JellyBool

对的,文章删除时相应有外键关系的表单都要级联删除

zhouxiaoshuai3 回复 XBisATrouble

那就设置外键就行了

public function up()
    {
        Schema::create('question_topic', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('question_id')->unsigned()->index();
            $table->integer('topic_id')->unsigned()->index();
            $table->foreign('question_id')->references('id')->on('questions')->onDelete('cascade');
            $table->foreign('topic_id')->references('id')->on('topics')->onDelete('cascade');
            $table->timestamps();
        });
    }
zhouxiaoshuai3 回复 XBisATrouble

我感觉删除的时候,那个关系表question_topic可以连同一起删除对应的数据。但是话题表topics没要一同删除吧???

iopkq999

关于里面的scope+Published这个方法不是很懂,其实就是不是很懂这个scope。

JellyBool 回复 iopkq999

这是一个数据库查询的 scope,可以理解为在查询了时候,laravel 会自动加上 scope 的 where 条件

shing110

我发现删除的时候没有删除关联表,这个是没有讲还是觉得没必要这么做

JellyBool 回复 shing110

看上面这个 @zhouxiaoshuai3 的回复

liujun 回复 JellyBool

在destroy方法里面用detach应该也可以吧

liujun 回复 shing110

在destroy方法里面用

laravelcasts

删除问题时删除关系表中数据是使用外键还是使用model relationship哪个比较好?

JellyBool 回复 laravelcasts

model relationship 这个就可以,外键我觉得是约束更好