如何在 php laravel 中设置外键名称?

问题描述

如何在 PHP laravel 中设置外键的名称

Schema::table('TABLE_NAME',function (Blueprint $table) {
        $table->foreign(XXX)
            ->references(XXX)
            ->on('REF_TABLE')
            ->onDelete('cascade');

            // HOW TO ACHIEVE SOMETHING LIKE THIS?
            //->name('Custom name of foreign key.')
            //->comment('Custom comment for foreign key.')        
    });

解决方法

您可以通过填写第二个外部参数来指定自定义名称:

->foreign('XXX','my_custom_name')
,

当您构建外键列时,您可以像这样构建它:

 $table->UnsignedBigInteger('xxx')->comment("comment for this column");

看到这个link

您也可以在 Laravel column-modifiers 中找到详细信息。

,

您可以通过以下方式制作外键:-

const uploadImage = async () => {
    for (let step = 0; step < image.length; step++) {
      const uploadUri = image[step];
      let filename = uploadUri.substring(uploadUri.lastIndexOf('/') + 1);
  
      setUploading(true);
      setTransferred(0);
  
      const response = await fetch(uploadUri);
      const blob = await response.blob();
      const storageRef = firebase.storage().ref().child(`${user.email}/images/${filename}`)
      const task = storageRef.put(blob);
  
      // Set transferred state
      task.on('state_changed',(taskSnapshot) => {
        // console.log(
        //   `${taskSnapshot.bytesTransferred} transferred out of ${taskSnapshot.totalBytes}`,// );
    
        setTransferred(
          Math.round(taskSnapshot.bytesTransferred / taskSnapshot.totalBytes) *
          100,)
      })
      try {
    
        const ref = await task;
        const url = await storageRef.getDownloadURL()
        setUploading(false);
        setImage(null);
        return url;
      } catch (e) {
        console.log(e);
        return null;
      }
      
    }
  }