First things first, edit your eloquent model by using the Arcanedev\LaravelNotes\Traits\HasManyNotes
trait.
<?php namespace App;
use Arcanedev\LaravelNotes\Traits\HasManyNotes;
use Illuminate\Database\Eloquent\Model;
class Post extends Model {
use HasManyNotes;
// Other stuff ...
}
You can also use the Arcanedev\LaravelNotes\Traits\HasOneNote
trait if you want to manage one note for your model.
You can call the createNote()
method on your Eloquent model like below:
$post = App\Post::first();
$note = $post->createNote('Hello world #1');
$user = App\User::first();
$post = App\Post::first();
$note = $post->createNote('Hello world #1', $user);
You can also specify how you want to add the author
id by using the getCurrentAuthorId()
:
<?php namespace App;
use Arcanedev\LaravelNotes\Traits\HasManyNotes;
use Illuminate\Database\Eloquent\Model;
class Post extends Model {
use HasManyNotes;
// Other stuff ...
/**
* Get the current author's id.
*
* @return int|null
*/
protected function getCurrentAuthorId()
{
return auth()->id();
}
}
$post = App\Post::first();
$notes = $post->notes;
NOTE :
$post->notes
relation property is only available in theHasManyNotes
trait. If you're usingHasOneNote
trait, use$post->note
instead.
You can also retrieve all the author's notes by using the Arcanedev\LaravelNotes\Traits\AuthoredNotes
Trait in your User model (for example).
$user = App\User::first();
$post = App\Post::first();
$post->createNote('Hello world #1', $user);
$notes = $user->authoredNotes;
$post = App\Post::first();
$note = $post->findNote(1);
NOTE : The
findNote()
method is only available in theHasManyNotes
trait.