Update Models with fillable content for Post and a posts method for User.
Post:
protected $fillable = [
'title',
'body',
];
User:
public function posts(){
return $this->hasMany('App\Models\Post');
}
Different CRUD statements to add to routes:
Route::get('/create', function () {
$user = User::findOrFail(1);
$user->posts()->save($post = new Post(['title'=>'My first post','body'=>'Love Laravel']));
});
Route::get('/read', function () {
$user = User::findOrFail(1);
$user->posts()->save($post = new Post(['title'=>'My first post','body'=>'Love Laravel']));
foreach($user->posts as $post){
echo $post->title;
}
});
Route::get('/update', function () {
$user = User::findOrFail(1);
$user->posts()->whereId(1)->update(['title'=>'Update to title', 'body'=>'Loving Laravel']);
});
Route::get('/update2', function () {
$user = User::findOrFail(1);
$user->posts()->where('id','=',2)->update(['title'=>'Update to title 2', 'body'=>'Loving Laravel']);
});
Route::get('/delete', function () {
$user = User::findOrFail(1);
$user->posts()->whereId(1)->delete();
});
//Deletes all with user 1
Route::get('/delete2', function () {
$user = User::findOrFail(1);
$user->posts()->delete();
});