Skip to main content

Database connection in Laravel

Database connection in Laravel

Database connection establishing and getting data from DB

In these notes, you can understand establishing a DB connection and retrieving data from DB.
Last previous notes, we made blog post data by hard coding, now fetching data from MySQL database.
Here I have created a MySQL database and table for blogs.

Now I am going to add MySQL database configuration in Laravel. As we discussed on early notes we should config DB in .ENV file


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mylaravel
DB_USERNAME=root
DB_PASSWORD=
After this setup, I need to write a method in my controller to fetch data from DB.

Example 1

Getting data from DB, This is simple getting data from DB. I used use DB; class and I written direct query.


<?php

	namespace App\Http\Controllers;

	use Illuminate\Http\Request;
	use DB;

	class BlogController extends Controller
	{
		/* Below as example of getting data from DB */
		public function blog_db_example($slug)
		{

			$post = DB::table('tbl_blogs')->where('slug',$slug)->first();

			if(!$post)
			{
				abort(404);
			}

			return view('blog_from_db',["blog"=>$post]);
		}
	}

Example 2

Using models, Laravel has Eloquent feature.

You can create a model using PHP artisan commands

php artisan make:model model_name

<?php

	namespace App\Http\Controllers;

	use Illuminate\Http\Request;
	use App\Models\Tbl_blogs;

	class BlogController extends Controller
	{

		 /* Below as example of getting data from Model */
		 public function blog_db_model_example($slug)
		 {
			return view('blog_from_db',[
				"blog" => Tbl_blogs::where('slug',$slug)->firstOrFail()
				]);
		 }
	}
In my view, I simple print the blog_desc


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h3>Welcome to Blog posts from laravel</h3>
    <p>{{$blog->blog_desc}}</p>
</body>
</html>
and in web.php


/**
 * Example of bring blog data from db
 */
Route::get('blog_from_db_example/{post}','App\Http\Controllers\BlogController@blog_db_example');

/**
 * Example of bring blog data from db
 */
Route::get('blog_from_model_db_example/{post}','App\Http\Controllers\BlogController@blog_db_model_example');
Result same as we expected

Comments

Popular posts from this blog

Data Types in Python

Data Types  In C# or Java, You need to declare a variable specify them integer, string, and decimal. But in Python no need to specify. We can declare variables like Example: C# or Java int age = 28; string Name = "Siddhu"; Example: Python age = 28 Name = "Siddhu" So, you don't need to declare variable types in python. This is an advantage in Python, But still have few Disadvantages too. Example: In my Python function def add_numbers(x,y): print(x+y) add_numbers(20,50) //Output: 70 add_numbers(20,"Something") //Error:"Traceback (most recent call last): File "C:/Users/siddhartha.e/PycharmProjects/siddhu-py/my1stpycode.py", line 8, in add_numbers(50,"Something") File "C:/Users/siddhartha.e/PycharmProjects/siddhu-py/my1stpycode.py", line 4, in add_numbers print(a + b) TypeError: unsupported operand type(s) for +: 'int' and 'str'" ...

Database and Migrations

Database and Migrations You can config Database in the .env file. By default, Laravel has MySQL configuration. For example, I configured my details DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=Laravel_tutorials DB_USERNAME=root DB_PASSWORD= So how it connects the database, In your root folder config/database.php file will read the .env file configuration. Migrations: Migrations are most likely a version control for your database. Advantages You can easily allow your team to modify database schema and share to everyone in the application No headache to add a new column in the database manually. This migration will help all teammates into one path. Now check with artisan command php artisan migrate php artisan migrate This command will create basic users,password_resets and migrations tables. Here migrations table will track of all migrates You can undo previous migration using rollback command php artisan ...

How to see Competitor ads on their Facebook pages

In any type of business, the organization always concentrate on their competitor's activities when it comes to competition. The first thing wants to what competitors doing, how they are getting leads or traffic. The same pattern is going when you are running Facebook Ads. If you want to know your competitor facebook strategy you will not see them on the newsfeed. Fortunately, you can see them in the following way and replicate their success on your Facebook Ads. Here am giving step by step. Follow each step  Step 1: Open your competitor facebook page and see the right side content of the page and click on see more button of the page transparency section as per below image Step 2: After opening the page you can see the page history and  Ads from this page. Click on Go to Ad library.  Step 3: Select the country that you want to see the Ads and see the Ads monthly.