laravel mysql长连接,Laravel&mysql在一个连接上有一个连接?

f890a5d031d42bcc79f3743709036d8f.png

现在我需要把地址表和被连接的子表连接起来,因为我也需要每个子表的地址。我唯一的问题是,如何根据childs.address_id加入表地址?

我已经尝试过了:

INNER JOIN `addresses` AS `addresse_child` ON `childs`.`address_id` = `addresses`.`id`

很遗憾,没有工作……

我的SQL查询(db::getquerylog())

SELECT `assignments`.`id` AS `assignment_id`,

`assignments`.`persons` AS `assignment_persons`,

`assignments`.`start_date` AS `assignment_start_date`,

`assignments`.`end_date` AS `assignment_end_date`,

`addresses`.`id` AS `address_id`,

`addresses`.`first_name` AS `address_first_name`,

`addresses`.`last_name` AS `address_last_name`,

`addresses`.`company` AS `address_company`,

`childs`.`id` AS `child_id`,

`childs`.`address_id` AS `child_address_id`,

`childs`.`sibling_id` AS `child_sibling_id`,

`childs`.`height` AS `child_height`,

`childs`.`weight` AS `child_weight`

FROM `assignments`

INNER JOIN `addresses` ON `assignments`.`address_id` = `addresses`.`id`

INNER JOIN `childs` ON `assignments`.`id` = `childs`.`assignment_id`

WHERE `assignments`.`deleted_at` IS NULL

AND `addresses`.`deleted_at` IS NULL

AND `childs`.`deleted_at` IS NULL

我的laravel sql命令:

$assignment_data = DB::table('assignments')

->join('addresses', 'assignments.address_id', '=', 'addresses.id')

->join('childs', 'assignments.id', '=', 'childs.assignment_id')

->select(

'assignments.id as assignment_id',

'assignments.persons as assignment_persons',

'assignments.start_date as assignment_start_date',

'assignments.end_date as assignment_end_date',

'addresses.id as address_id',

'addresses.first_name as address_first_name',

'addresses.last_name as address_last_name',

'addresses.company as address_company',

'childs.id as child_id',

'childs.address_id as child_address_id',

'childs.sibling_id as child_sibling_id',

'childs.height as child_height',

'childs.weight as child_weight'

)

->whereNull('assignments.deleted_at')

->whereNull('addresses.deleted_at')

->whereNull('childs.deleted_at')

->get();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Laravel的表单验证程序,包括加密和通过MySQL读写实例: 1. 创建一个表单验证器类 ``` php artisan make:validator MyFormValidator ``` 2. 在MyFormValidator类中添加验证规则和自定义错误消息: ```php namespace App\Validators; use Illuminate\Validation\Validator; class MyFormValidator extends Validator { public function validateEncrypted($attribute, $value, $parameters) { // 验证加密字符串 return preg_match('/^[a-f0-9]{64}$/', $value); } protected function replaceEncrypted($message, $attribute, $rule, $parameters) { // 自定义错误消息 return str_replace(':attribute', $attribute, 'The :attribute must be a 64-character hexadecimal string.'); } } ``` 3. 在控制器中使用表单验证器类 ```php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Validators\MyFormValidator; class MyController extends Controller { public function store(Request $request) { $validator = new MyFormValidator(app('translator'), $request->all(), [ 'encrypted_field' => 'required|encrypted' ]); if ($validator->fails()) { return redirect()->back()->withErrors($validator->errors()); } // 通过MySQL读写实例存储数据 $encrypted_value = $request->input('encrypted_field'); DB::connection('mysql2')->table('my_table')->insert(['encrypted_field' => $encrypted_value]); return redirect('/success'); } } ``` 这个表单验证程序将验证表单中的一个字段是否是一个64位十六进制加密字符串,并通过MySQL读写实例存储数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值