Skip to main content

Laravel One to One Eloquent Relationship Tutorial

laravel hasone relationship

Hi Dev,

Today,I will learn you how to use hasone relationship in laravel. This is a short guide on laravel if hasone relationship. We will use how to use hasone relationship in laravel. Here you will learn how to use hasone relationship in laravel. We will use how to use if hasone relationship in laravel. Let's get started with how to hasone relationship use in laravel.

Here i will give you many example how you can check hasone relationship in laravel.

Create Migrations:

Now we have to create migration of "Products" and "ProductCategories" table. so let's create like as below:

Products table migration:


<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateProductsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('Products', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('sub_title');
$table->integer('product_category_id');
$table->text('description');
$table->string('image');
$table->string('client');
$table->date('date');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('Products');
}
}
?>

ProductCategories table migration:


<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateProductCategoriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('Product_categories', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('Product_categories');
}
}
?>
Create Models:

Here, we will create Product and ProductCategory table model. we will also use "hasOne()" for relationship of both model.

Product Model:


<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
use HasFactory;

public $table = 'Products';

public $fillable = ['title','sub_title','product_category_id','description'];

/**
* Write code on Method
*
* @return response()
*/
public function ProductCategory(){
return $this->hasOne(ProductCategory::class, 'id', 'product_category_id');
}
}
?>

ProductCategory Model:


<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Product_Category extends Model
{
use HasFactory;

public $table = 'Product_categories';

public $fillable = ['name'];
}
?>

Retrieve Records:


$ProductCategory = Product::find(1)->ProductCategory;
dd($ProductCategory);

$Product = ProductCategory::find(1)->Product;
dd($Product);

Create Records:


$Product = Product::find(1);

$ProductCategory = new ProductCategory;
$ProductCategory->ProductCategory->name = 'Mobile';

$Product->ProductCategory()->save($ProductCategory);

$ProductCategory = ProductCategory::find(1);

$Product = Product::find(10);

$ProductCategory->Product()->associate($Product)->save();

It will help you....

Comments

Popular posts from this blog

React Native Flexbox Tutorial With Example

Hi Dev, Today, I will learn you how to create flexbox in react native. You can easily create flexbox in react native. First i will import namespace View , after I will make flexbox using View tag in react native. Here, I will give you full example for simply display flexbox using react native as bellow. Step 1 - Create project In the first step Run the following command for create project. expo init flexbox Step 2 - App.js In this step, You will open App.js file and put the code. import React, { Component } from 'react' import { View, StyleSheet } from 'react-native' const Home = (props) => { return ( <View style = {styles.container}> <View style = {styles.redbox} /> <View style = {styles.greenbox} /> <View style = {styles.corolbox} /> <View style = {styles.purplebox} /> </View> ) } export default Home const styles = StyleSheet.create ({ container: { flexDirection:...

Laravel 6 validation required if another field is empty

Hii guys, In this artical, i will give you example of laravel 6 in validation required if another field is empty. We know laravel provide several in-built laravel 6 validation required_without . If you need to add validation rules like required if other field is empty in laravel then you can do it using required_without. I am going to explain you, If you can not enter test (field) value at that time test1 (field) is required. So at that time you can add validation required_without. So, you can use this way: "test1" =>"required_without:test" Example: public function store(Request $request) { $request->validate([ "test" =>"required", "test1" =>"required_without:test" ]); dd("Done!"); } If return validation error otherwise show Done!. It will help you...

Laravel 8 Toastr Notifications using yoeunes/toastr package Tutorial

Laravel 8 Toastr Notifications using yoeunes/toastr package Example Hi Guys Today, I will learn with you how to install and use toastr notifications using yoeunes/toastr package in laravel application.we will use yoeunes/toastr package.we will write step be step tutorial for laravel toastr notifications. Toastr notifications yoeunes/toastr package provides warning,success,error and info notifications.You have to just follow few step for implement toastr notifications in your laravel application. In this example i give you example from scratch. So just follow bellow step. Step 1: Install yoeunes/toastr package We need to install yoeunes/toastr composer package for datatable, so you can install using following command: composer require yoeunes/toastr After that you need to set providers and alias. config/app.php 'providers' => [ ... Yoeunes\Toastr\ToastrServiceProvider::class ... ]; As optional if you want to modify the default configuration, you can publish...