mardi 4 avril 2017

Store Comments in DB

I am looking for a solution for storing comments in the database, but it is not difficult at all:

In one table wants to write comments from several modules on the website.

I am currently creating a table using code 'comments table':

    public function up()
{
    Schema::create('comments', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id')->unsigned();
        $table->integer('module_id')->unsigned();
        $table->integer('parent_id')->unsigned();
        $table->text('body');
        $table->timestamps();
    });
}

Comments modules table:

    public function up()
{
    //
    Schema::create('comment_module',function (Blueprint $table){
        $table->increments('id');
        $table->string('title',190);
        $table->string('name',190)->unique();
        $table->text('body');
        $table->timestamps();
    });
}

for now everything is okay, but i have problem with select all comments for each blog post,gallery, etc..

blog, gallery - name of modules.

code for Map.php model

    public function comments(){
    return $this->hasMany(Comment::class,'module_id');
}

CommentModule.php model

 public function comments(){
    return $this->hasMany(Comment::class,'module_id');
}

Comment.php

public function module(){
    return $this->belongsTo(CommentModule::class);
}

and now how to pass a 'mmodule_id' ?

normal use with any relationships for one table will be like that:

$map->comments->body . . etc.

but for that construction don`t work, yes of course i can use raw query and use join, right ?

Is any option to use a Eloquent?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire