分享好友 数智知识首页 数智知识分类 切换频道

用LARAVEL做一个图书管理系统

Laravel是一个基于PHP的开源框架,用于构建Web应用程序。在Laravel中,我们可以使用Eloquent ORM来创建和管理数据库表。以下是一个简单的图书管理系统的示例。...
2025-04-19 18:48110

Laravel是一个基于PHP的开源框架,用于构建Web应用程序。在Laravel中,我们可以使用Eloquent ORM来创建和管理数据库表。以下是一个简单的图书管理系统的示例:

1. 首先,创建一个名为`Book`的模型,用于表示图书信息:

```php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class Book extends Model

{

protected $fillable = ['title', 'author', 'publisher', 'price'];

}

```

2. 接下来,创建一个名为`Library`的模型,用于表示图书馆信息:

```php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class Library extends Model

{

protected $fillable = ['name', 'address'];

}

```

3. 创建一个名为`User`的模型,用于表示用户信息:

```php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model

{

protected $fillable = ['name', 'email', 'password'];

}

```

4. 创建一个名为`Booking`的模型,用于表示预订信息:

```php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class Booking extends Model

{

protected $fillable = ['user_id', 'book_id', 'date'];

}

```

5. 创建一个名为`LibraryBooking`的模型,用于表示图书馆预订信息:

```php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class LibraryBooking extends Model

{

protected $fillable = ['user_id', 'book_id', 'date'];

}

```

6. 创建一个名为`BookingController`的控制器,用于处理预订和取消预订操作:

```php

namespace AppHttpControllers;

use IlluminateHttpRequest;

use AppModelsBooking;

use AppModelsBook;

use AppModelsLibrary;

use AppModelsUser;

class BookingController extends Controller

{

public function index()

{

$books = Book::all();

return view('bookings.index', compact('books'));

}

public function create()

{

$books = Book::all();

return view('bookings.create', compact('books'));

}

public function store(Request $request)

{

$book = Book::find($request->book_id);

$user = User::find($request->user_id);

$booking = new Booking;

$booking->user_id = $user->id;

$booking->book_id = $book->id;

$booking->date = $request->date;

$booking->save();

return redirect()->route('bookings.show', ['book' => $book, 'user' => $user]);

用LARAVEL做一个图书管理系统

}

public function show($book_id, $user_id)

{

$book = Book::find($book_id);

$user = User::find($user_id);

$booking = Booking::where('user_id', $user->id)->where('book_id', $book->id)->first();

if ($booking) {

return view('bookings.show', compact('book', 'user', 'booking'));

} else {

abort(404);

}

}

public function destroy($book_id, $user_id)

{

$book = Book::find($book_id);

$user = User::find($user_id);

$booking = Booking::where('user_id', $user->id)->where('book_id', $book->id)->first();

if ($booking) {

$booking->delete();

return redirect()->route('bookings.index');

} else {

abort(404);

}

}

}

```

7. 创建一个名为`BookingsController`的控制器,用于处理所有与图书预订相关的操作:

```php

namespace AppHttpControllers;

use IlluminateHttpRequest;

use AppModelsBooking;

use AppModelsBook;

use AppModelsLibrary;

use AppModelsUser;

use AppModelsLibraryBooking;

class BookingsController extends Controller

{

public function index()

{

$books = Book::all();

return view('bookings.index', compact('books'));

}

public function create()

{

$books = Book::all();

return view('bookings.create', compact('books'));

}

public function store(Request $request)

{

$book = Book::find($request->book_id);

$user = User::find($request->user_id);

$booking = new Booking;

$booking->user_id = $user->id;

$booking->book_id = $book->id;

$booking->date = $request->date;

$booking->save();

return redirect()->route('bookings.show', ['book' => $book, 'user' => $user]);

}

public function show($book_id, $user_id)

{

$book = Book::find($book_id);

$user = User::find($user_id);

$booking = Booking::where('user_id', $user->id)->where('book_id', $book->id)->first();

if ($booking) {

return view('bookings.show', compact('book', 'user', 'booking'));

} else {

abort(404);

}

}

public function destroy($book_id, $user_id)

{

$book = Book::find($book_id);

$user = User::find($user_id);

$booking = Booking::where('user_id', $user->id)->where('book_id', $book->id)->first();

if ($booking) {

$booking->delete();

return redirect()->route('bookings.index');

} else {

abort(404);

}

}

}

```

8. 最后,创建一个名为`BookingsRoute`的路由,将视图文件映射到相应的控制器方法上:

```php

use IlluminateSupportFacadesRoute;

use AppHttpControllersBookingsController;

use AppHttpControllersLibraryBookingController;

use AppHttpControllersBookingController;

use AppHttpControllersLibraryController;

use AppHttpControllersUserController;

use AppHttpControllersBookController;

use AppHttpControllersLibraryController;

use AppHttpControllersUserController;

use AppHttpControllersBookController;

use AppHttpControllersLibraryController;

use AppHttpControllersUserController;

举报
收藏 0
推荐产品更多
蓝凌MK

智能、协同、安全、高效蓝凌MK数智化工作平台全面支撑组织数智化可持续发展Gartner预测,组装式企业在实施新功能方面能力超80%竞争对手。未来,企业亟需基于“封装业务能力”(Packaged Business Capability,简称PBC)理念,将传统OA及业务系统全面升级为组...

帆软FineBI

数据分析,一气呵成数据准备可连接多种数据源,一键接入数据库表或导入Excel数据编辑可视化编辑数据,过滤合并计算,完全不需要SQL数据可视化内置50+图表和联动钻取特效,可视化呈现数据故事分享协作可多人协同编辑仪表板,复用他人报表,一键分享发布比传统...

悟空CRM

为什么客户选择悟空CRM?悟空CRM为您提供全方位服务客户管理的主要功能客户管理,把控全局悟空CRM助力销售全流程,通过对客户初始信息、跟进过程、 关联商机、合同等的全流程管理,与客户建立紧密的联系, 帮助销售统筹规划每一步,赢得强有力的竞争力优势。...

简道云

丰富模板,安装即用200+应用模板,既提供标准化管理方案,也支持零代码个性化修改低成本、快速地搭建企业级管理应用通过功能组合,灵活实现数据在不同场景下的:采集-流转-处理-分析应用表单个性化通过对字段拖拉拽或导入Excel表,快速生成一张表单,灵活进行...

推荐知识更多